Function at 0x1400ae674
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov r12, r8
mov rsi, rdx
xor ebx, ebx
cmp rdx, rbx
jne 0x1400ae6aa
mov qword [rsp + 0x40], rbx
jmp 0x1400ae6b3
mov rax, qword [rdx + 0x40]
mov qword [rsp + 0x40], rax
mov r13d, dword [r8 + 8]
call qword [sym.imp.USER32.dll_GetFocus]
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14001917c
mov r14, rax
mov qword [rsp + 0x48], rax
mov r15d, pe_nt_image_headers64
cmp r13d, r15d
jb 0x1400ae6e6
cmp r13d, 0x109
jbe 0x1400ae6f6
lea eax, [r13 - 0x200]
cmp eax, 9
ja 0x1400ae7f5
cmp r14, rbx
je 0x1400ae7f5
mov rdi, r14
cmp qword [rdi + 0xa0], rbx
jne 0x1400ae73c
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001917c
cmp rax, rsi
je 0x1400ae73c
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001917c
mov rdi, rax
cmp rax, rbx
jne 0x1400ae702
cmp rdi, rbx
je 0x1400ae774
mov rax, qword [rdi + 0xa0]
cmp rax, rbx
je 0x1400ae774
cmp qword [rax + 0x90], rbx
je 0x1400ae774
mov rcx, qword [rax + 0x90]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 0x28]
cmp eax, ebx
jne 0x1400ae774
mov eax, 1
jmp 0x1400aec8f
cmp r13d, 0x101
je 0x1400ae78b
cmp r13d, r15d
je 0x1400ae78b
cmp r13d, 0x102
jne 0x1400ae7e6
cmp rdi, rbx
je 0x1400ae7e6
mov rax, qword [rdi + 0xa0]
cmp rax, rbx
je 0x1400ae7e6
mov ecx, SafeArrayGetDim
cmp word [r12 + 0x10], cx
jne 0x1400ae7b7
lea edi, [rcx - 0xc]
test byte [rax + 0xcc], dil
jne 0x1400ae7d7
jmp 0x1400ae7bc
mov edi, 1
mov r15d, 0x1b
cmp word [r12 + 0x10], r15w
jne 0x1400ae7de
lea r12d, [r15 - 0x19]
test byte [rax + 0xcc], r12b
je 0x1400ae802
xor eax, eax
jmp 0x1400aec8f
mov r12d, 2
jmp 0x1400ae802
mov edi, 1
lea r15d, [rdi + 0x1a]
lea r12d, [rdi + 1]
jmp 0x1400ae802
mov edi, 1
lea r15d, [rdi + 0x1a]
lea r12d, [rdi + 1]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax]
call fcn.14001917c
mov qword [rsp + 0x38], rax
mov ecx, r13d
sub ecx, 0x100
je 0x1400ae8e7
sub ecx, r12d
je 0x1400ae867
cmp ecx, 4
jne 0x1400aebaf
cmp r14, rbx
jne 0x1400ae852
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetKeyState]
cmp ax, bx
jge 0x1400aebeb
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0xc0]
cmp word [rdx + 0x10], 0x20
je 0x1400aebe1
jmp 0x1400ae86f
mov rdx, qword [rsp + 0xc0]
mov rcx, rax
call fcn.1400adc04
cmp r13d, 0x102
jne 0x1400ae888
test al, 0x84
jne 0x1400aebd7
mov r13, qword [rsp + 0xc0]
mov edx, 9
cmp word [r13 + 0x10], dx
jne 0x1400ae8a5
test r12b, al
jne 0x1400aebf3
cmp word [r13 + 0x10], 0x20
jne 0x1400ae8b4
xor eax, eax
jmp 0x1400aec8f
mov r8, r13
mov rdx, qword [rsp + 0x38]
mov rcx, rsi
call fcn.1400ae530
cmp rax, rbx
je 0x1400aebf3
mov rcx, qword [rax + 8]
cmp rcx, rbx
je 0x1400aebf3
mov rdx, r13
call fcn.1400a5880
jmp 0x1400aec3a
mov r13, qword [rsp + 0xc0]
mov rdx, r13
mov rcx, rax
call fcn.1400adc04
movzx ecx, word [r13 + 0x10]
cmp ecx, 3
je 0x1400aeb36
mov edx, 9
cmp ecx, edx
je 0x1400aea7b
cmp ecx, 0xd
je 0x1400aea3b
cmp ecx, r15d
je 0x1400aeb36
cmp ecx, 0x24
jle 0x1400aebf3
cmp ecx, 0x26
jle 0x1400ae948
cmp ecx, 0x28
jle 0x1400ae94d
cmp ecx, 0x2b
je 0x1400aea3b
jmp 0x1400aebf3
mov r15d, edi
jmp 0x1400ae950
mov r15d, ebx
mov rdx, r13
mov rcx, r14
call fcn.1400adc04
test dil, al
jne 0x1400aebf3
cmp r15d, ebx
je 0x1400ae978
xor edx, edx
mov rcx, rsi
call fcn.1400104ac
mov r12, rax
jmp 0x1400ae985
xor edx, edx
mov rcx, rsi
call fcn.140010510
mov r12, rax
cmp r12, rbx
je 0x1400aebf3
cmp dword [r12 + 0x10], ebx
je 0x1400ae9a0
mov rdx, r12
mov rcx, rsi
call fcn.14000ff30
cmp qword [r12 + 8], rbx
je 0x1400ae9bd
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x158]
jmp 0x1400aec3a
cmp qword [r12], rbx
je 0x1400ae9d1
mov rcx, qword [r12]
call fcn.14001917c
mov r13, rax
jmp 0x1400ae9f7
cmp r14, rbx
jne 0x1400ae9db
mov rdx, rbx
jmp 0x1400ae9df
mov rdx, qword [r14 + 0x40]
mov r8d, r15d
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_GetNextDlgGroupItem]
mov rcx, rax
call fcn.14001917c
mov r13, rax
cmp r13, rbx
je 0x1400aebcd
mov rax, qword [rsi + 0x98]
mov qword [rax + 0xd8], rbx
mov rcx, r13
call fcn.1400adcec
cmp dword [r12 + 0x10], ebx
je 0x1400aec3a
xor r9d, r9d
mov r8, rdi
mov edx, 0xf1
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400aec3a
test al, 4
jne 0x1400aebf3
mov rcx, r14
call fcn.1400adcac
test al, 0x10
je 0x1400aea6b
mov r13, r14
mov rcx, r14
call fcn.14000f9e4
mov r12d, eax
cmp r14, rbx
jne 0x1400aeb49
jmp 0x1400aeb36
mov rcx, rsi
call fcn.1400ae1a8
mov r12d, eax
jmp 0x1400aeb36
test r12b, al
jne 0x1400aebf3
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
call qword [sym.imp.USER32.dll_GetKeyState]
mov r12d, ebx
cmp ax, bx
setl r12b
mov r8d, r12d
xor edx, edx
mov rcx, rsi
call fcn.14000fd8c
cmp rax, rbx
je 0x1400aebf3
cmp qword [rax + 8], rbx
je 0x1400aeaca
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x158]
jmp 0x1400aec3a
cmp qword [rax], rbx
je 0x1400aeadc
mov rcx, qword [rax]
call fcn.14001917c
mov r12, rax
jmp 0x1400aeb07
mov rdx, qword [rsp + 0x38]
cmp rdx, rbx
jne 0x1400aeaeb
mov rdx, rbx
jmp 0x1400aeaef
mov rdx, qword [rdx + 0x40]
mov r8d, r12d
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_GetNextDlgTabItem]
mov rcx, rax
call fcn.14001917c
mov r12, rax
cmp r12, rbx
je 0x1400aec3a
mov rax, qword [rsi + 0x98]
mov qword [rax + 0xd8], rbx
mov rcx, r12
call fcn.1400adcec
mov rdx, r12
mov rcx, r14
call fcn.1400adf5c
jmp 0x1400aec3a
mov edx, r12d
mov rcx, rsi
call fcn.1400ae01c
mov r13, rax
cmp rax, rbx
je 0x1400aebc3
mov rcx, r13
call fcn.14000fac4
cmp eax, ebx
jne 0x1400aeb6a
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBeep]
mov r13, qword [rsp + 0xc0]
jmp 0x1400aebf3
cmp qword [r13 + 0xa0], rbx
je 0x1400aebb9
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
movzx r9d, bx
movzx r8d, di
mov edx, 0xfffffdd9
mov rcx, r13
call fcn.14000fb5c
nop
jmp 0x1400aec3a
mov r13, qword [rsp + 0xc0]
jmp 0x1400aebf3
mov r13, qword [rsp + 0xc0]
jmp 0x1400aebf3
mov r13, qword [rsp + 0xc0]
jmp 0x1400aebf3
mov r13, qword [rsp + 0xc0]
jmp 0x1400aebf3
mov r13, qword [rsp + 0xc0]
jmp 0x1400aebf3
mov r13, qword [rsp + 0xc0]
jmp 0x1400aebf3
mov r13, qword [rsp + 0xc0]
bt dword [rsi + 0x78], 0xc
jb 0x1400aec38
mov rdx, r13
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_IsDialogMessageW]
mov edi, eax
cmp eax, ebx
je 0x1400aec3a
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001917c
cmp rax, r14
je 0x1400aec3a
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001917c
mov rcx, rax
call fcn.1400adebc
jmp 0x1400aec3a
mov edi, ebx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x1400aec8d
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001917c
mov rdx, rax
mov rcx, r14
call fcn.1400adf5c
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x1400aec8d
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001917c
mov r8, rax
mov rdx, r14
mov rcx, rsi
call fcn.1400ae1e4
mov eax, edi
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret