Function at 0x1400a9a20
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
xor esi, esi
movsxd r14, edx
mov r12, r8
mov rbp, rcx
lea r15d, [rsi + 1]
test r8, r8
je 0x1400a9a4f
mov dword [r8], r15d
call fcn.1400f0bac
mov rdi, rax
test rax, rax
je 0x1400a9b72
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.1400295b4
mov rbp, rax
mov rax, qword [rdi]
mov rbx, qword [rax + 0x410]
mov rcx, rbx
call fcn.1401bc174
mov rcx, rdi
call rbx
test eax, eax
je 0x1400a9ad3
test rbp, rbp
je 0x1400a9aba
mov rdx, qword [rbp + 0x40]
test rdx, rdx
je 0x1400a9aba
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_IsChild]
test eax, eax
jne 0x1400a9d3c
mov rax, qword [rbp + 0x40]
cmp rax, qword [rdi + 0x40]
je 0x1400a9d3c
mov rcx, qword [rdi + 0x40]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x10]
call qword [sym.imp.USER32.dll_SendMessageA]
jmp 0x1400a9d3c
test rbp, rbp
je 0x1400a9af3
mov rdx, qword [rbp + 0x40]
test rdx, rdx
je 0x1400a9af3
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_IsChild]
test eax, eax
jne 0x1400a9d3c
mov rax, qword [rdi]
mov rbx, qword [rax + 0x390]
mov rcx, rbx
call fcn.1401bc174
mov rcx, rdi
call rbx
mov rcx, qword [rdi + 0x40]
mov r8, r14
xor r9d, r9d
mov edx, 0x100
mov ebx, dword [rax + 0x1398]
call qword [sym.imp.USER32.dll_SendMessageA]
test ebx, ebx
jne 0x1400a9b31
mov eax, r15d
jmp 0x1400a9d3e
call fcn.1400f0bac
mov rdx, rax
lea rcx, str.CMFCDropDownListBox
call fcn.14003231c
test rax, rax
je 0x1400a9b68
mov rax, qword [rax + 0x19e0]
mov rbx, rsi
test rax, rax
je 0x1400a9b5d
mov rbx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_GetFocus]
cmp rbx, rax
je 0x1400a9b6b
mov esi, r15d
mov eax, esi
jmp 0x1400a9d3e
mov rcx, qword [rbp + 0x118]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x1400a9b29
cmp dword [0x1402964fc], esi
jne 0x1400a9d3c
mov r15, qword [0x1402965b0]
mov edi, esi
mov dword [rsp + 0x70], esi
test r15, r15
je 0x1400a9c1e
mov r14, qword [r15 + 0x10]
mov r15, qword [r15]
test r14, r14
je 0x1400a9d53
mov rcx, qword [r14 + 0x40]
call fcn.1400295f8
test rax, rax
je 0x1400a9c1a
mov rcx, r14
mov r13d, esi
call fcn.1400552cc
test eax, eax
jle 0x1400a9c1a
mov edx, r13d
mov rcx, r14
call fcn.140055028
mov rdi, rax
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x148]
mov rcx, rbx
call fcn.1401bc174
mov rcx, rdi
call rbx
test eax, eax
jne 0x1400a9c11
mov rcx, r14
inc r13d
call fcn.1400552cc
cmp r13d, eax
jl 0x1400a9bd2
mov edi, dword [rsp + 0x70]
jmp 0x1400a9c1a
mov edi, 1
mov dword [rsp + 0x70], edi
test edi, edi
je 0x1400a9ba0
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr ax, 0xc
mov ecx, 0x12
and al, 8
movzx ebx, al
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov cl, bl
mov r14d, 0x8000
or cl, 0x10
movzx edx, cl
and ax, r14w
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
cmove edx, ebx
movzx ebx, dl
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov cl, bl
or cl, 4
and ax, r14w
movzx r13d, cl
mov r14d, dword [rsp + 0x68]
cmove r13d, ebx
test edi, edi
jne 0x1400a9cd8
mov r8, qword [rbp + 0x118]
lea r9d, [rdi + 1]
mov r15b, r13b
movzx ecx, r14w
or r15b, 1
mov dl, r15b
call fcn.1400d0514
test eax, eax
jne 0x1400a9d3c
mov rdi, qword [rbp + 0x118]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x2e0]
mov rcx, rbx
call fcn.1401bc174
mov rcx, rdi
call rbx
mov r8, rax
xor r9d, r9d
mov dl, r15b
movzx ecx, r14w
call fcn.1400d0514
test eax, eax
jne 0x1400a9d3c
mov edi, dword [rsp + 0x70]
mov rcx, qword [rbp + 0x180]
test rcx, rcx
je 0x1400a9d1a
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x1400a9d1a
cmp r13b, 8
jne 0x1400a9d1a
cmp r14d, 0x70
jne 0x1400a9d2f
mov rcx, qword [rbp + 0x180]
cmp qword [rcx + 0xb08], rsi
je 0x1400a9d2f
call fcn.14013f74c
mov eax, 1
jmp 0x1400a9d3e
cmp r13b, 0x10
jne 0x1400a9d2f
mov edx, r14d
mov rcx, rbp
call fcn.1400a8ab8
test eax, eax
jne 0x1400a9d13
test edi, edi
je 0x1400a9d3c
test r12, r12
je 0x1400a9d3c
mov dword [r12], esi
xor eax, eax
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14001fc58
int3