Function at 0x1400ccfd4
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
xor edi, edi
movsxd r13, edx
mov r14, r8
mov rbp, rcx
lea r12d, [rdi + 1]
test r8, r8
je 0x1400cd007
mov dword [r8], r12d
call fcn.1400dad34
mov rsi, rax
test rax, rax
je 0x1400cd114
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.140036160
mov rbx, rax
mov rcx, rsi
mov rax, qword [rsi]
call qword [rax + 0x410]
test eax, eax
je 0x1400cd080
test rbx, rbx
je 0x1400cd067
mov rdx, qword [rbx + 0x40]
test rdx, rdx
je 0x1400cd067
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_IsChild]
test eax, eax
jne 0x1400cd2b1
mov rax, qword [rbx + 0x40]
cmp rax, qword [rsi + 0x40]
je 0x1400cd2b1
mov rcx, qword [rsi + 0x40]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400cd2b1
test rbx, rbx
je 0x1400cd0a0
mov rdx, qword [rbx + 0x40]
test rdx, rdx
je 0x1400cd0a0
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_IsChild]
test eax, eax
jne 0x1400cd2b1
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x390]
mov rcx, qword [rsi + 0x40]
mov r8, r13
xor r9d, r9d
mov edx, 0x100
mov ebx, dword [rax + 0x1398]
call qword [sym.imp.USER32.dll_SendMessageW]
test ebx, ebx
jne 0x1400cd0d3
mov eax, r12d
jmp 0x1400cd2b3
call fcn.1400dad34
mov rdx, rax
lea rcx, str.CMFCDropDownListBox
call fcn.14003f75c
test rax, rax
je 0x1400cd10a
mov rax, qword [rax + 0x19e0]
mov rbx, rdi
test rax, rax
je 0x1400cd0ff
mov rbx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_GetFocus]
cmp rbx, rax
je 0x1400cd10d
mov edi, r12d
mov eax, edi
jmp 0x1400cd2b3
mov rcx, qword [rbp + 0x118]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x1400cd0cb
cmp dword [0x1403f2740], edi
jne 0x1400cd2b1
mov rsi, qword [0x1403f2800]
mov r15d, edi
test rsi, rsi
je 0x1400cd1ab
mov rbx, qword [rsi + 0x10]
mov rsi, qword [rsi]
test rbx, rbx
je 0x1400cd2d0
mov rcx, qword [rbx + 0x40]
call fcn.1400361a4
test rax, rax
je 0x1400cd1a6
mov rcx, rbx
mov r12d, edi
call fcn.140079ca0
test eax, eax
jle 0x1400cd1a0
mov edx, r12d
mov rcx, rbx
call fcn.1400799b0
mov rcx, rax
mov rdx, qword [rax]
call qword [rdx + 0x148]
test eax, eax
jne 0x1400cd27e
mov rcx, rbx
inc r12d
call fcn.140079ca0
cmp r12d, eax
jl 0x1400cd171
mov r12d, 1
test r15d, r15d
je 0x1400cd13f
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElemsize
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 8
movzx ebx, dil
mov esi, 0x8000
and ax, si
cmovne ebx, ecx
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetUBound
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test si, ax
je 0x1400cd1dd
or bl, 0x10
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test si, ax
je 0x1400cd1f0
or bl, 4
test r15d, r15d
jne 0x1400cd23f
mov r8, qword [rbp + 0x118]
mov sil, bl
or sil, r12b
mov r9d, r12d
mov dl, sil
movzx ecx, r13w
call fcn.14011c2c8
test eax, eax
jne 0x1400cd2b1
mov rcx, qword [rbp + 0x118]
mov rax, qword [rcx]
call qword [rax + 0x2e0]
xor r9d, r9d
mov dl, sil
mov r8, rax
movzx ecx, r13w
call fcn.14011c2c8
test eax, eax
jne 0x1400cd2b1
mov rcx, qword [rbp + 0x180]
test rcx, rcx
je 0x1400cd28c
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x1400cd28c
cmp bl, 8
jne 0x1400cd28c
cmp r13d, 0x70
jne 0x1400cd2a4
mov rcx, qword [rbp + 0x180]
cmp qword [rcx + 0xb08], rdi
je 0x1400cd2a4
call fcn.14017eec8
jmp 0x1400cd0cb
mov r12d, 1
mov r15d, r12d
jmp 0x1400cd1a6
cmp bl, 0x10
jne 0x1400cd2a4
mov edx, r13d
mov rcx, rbp
call fcn.1400cc22c
test eax, eax
jne 0x1400cd0cb
test r15d, r15d
je 0x1400cd2b1
test r14, r14
je 0x1400cd2b1
mov dword [r14], edi
xor eax, eax
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.140010b1c
int3