Function at 0x43d205
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 0x43d2bf
mov r13, qword [rcx]
mov r14, qword [sym.imp.USER32.dll_GetWindowLongA]
mov rsi, qword [sym.imp.USER32.dll_GetParent]
test r13, r13
je 0x43d2bf
mov rcx, r13
call method.IWindow.findWindow_HWND___
mov rcx, rax
test rax, rax
jne 0x43d269
mov edx, 0xfffffff0
mov rcx, r13
call r14
bt eax, 0x1e
jae 0x43d2bf
mov rcx, r13
call rsi
mov r13, rax
jmp 0x43d235
call method.IWindow.getTopParent__
mov r13, rax
test rax, rax
je 0x43d2bf
mov rax, qword [r12 + 0x10]
cmp rax, 0xd
je 0x43d2c7
cmp rax, 9
je 0x43d3d2
lea rdx, [rax - 0x25]
cmp rdx, 1
ja 0x43d4d4
xor r8d, r8d
mov rcx, qword [r12]
mov r9, r12
mov edx, 0x87
call qword [sym.imp.USER32.dll_SendMessageA]
test al, 5
jne 0x43d2bf
xor r8d, r8d
xor edx, edx
mov rcx, r13
call fcn.0043d1a1
xor r12d, r12d
jmp 0x43d579
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 0x43d579
lea r14, [rsp + 0x30]
mov rcx, r14
call fcn.004ceac0
mov rcx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
sub rbx, rcx
call fcn.004d1482
sar rbx, 3
shr eax, 3
cmp ebx, eax
jne 0x43d33a
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.004ceaf6
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 0x43d49b
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 0x43d3c6
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 0x43d3c6
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, r13
call fcn.0043d176
jmp 0x43d49e
mov rcx, r13
inc ebx
call fcn.0043d176
jmp 0x43d35a
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 0x43d4ab
call rax
xor r12d, r12d
test al, 6
jne 0x43d579
lea r14, [rsp + 0x30]
xor esi, esi
mov rcx, r14
call fcn.004ceac0
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 0x43d49b
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 0x43d56a
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.0043d18c
jmp 0x43d49e
xor r12d, r12d
mov rcx, r14
call fcn.0043d062
jmp 0x43d579
call rax
test al, 6
jne 0x43d2bf
mov ecx, 0x10
call rbx
mov r8d, 1
mov rcx, r13
movsx edx, ax
not edx
shr edx, 0x1f
call fcn.0043d1a1
jmp 0x43d540
lea rdx, [rax - 0x27]
cmp rdx, 1
ja 0x43d508
xor r8d, r8d
mov rcx, qword [r12]
mov r9, r12
mov edx, 0x87
call qword [sym.imp.USER32.dll_SendMessageA]
test al, 5
jne 0x43d2bf
xor r8d, r8d
mov edx, 1
jmp 0x43d2b7
cmp rax, 0x1b
jne 0x43d51b
mov rdx, r12
mov rcx, r13
call fcn.0043cfb0
jmp 0x43d540
cmp rax, 0x73
jne 0x43d2bf
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x43d545
mov rdx, r12
mov rcx, r13
call fcn.0043cfb0
mov r12d, eax
jmp 0x43d579
xor r8d, r8d
mov rcx, qword [r12]
mov r9, r12
mov edx, 0x87
call qword [sym.imp.USER32.dll_SendMessageA]
test al, 4
je 0x43d2bf
mov byte [rbx], 1
jmp 0x43d2bf
mov rcx, r13
inc esi
call fcn.0043d18c
jmp 0x43d42b
mov eax, r12d
add rsp, 0x40
pop rbx
pop rsi
pop r12
pop r13
pop r14
ret