Function at 0x14005e25c
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 0x14005e292
mov qword [rsp + 0x40], rbx
jmp 0x14005e29b
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.14001db84
mov r14, rax
mov qword [rsp + 0x48], rax
mov r15d, 0x100
cmp r13d, r15d
jb 0x14005e2ce
cmp r13d, 0x109
jbe 0x14005e2de
lea eax, [r13 - 0x200]
cmp eax, 9
ja 0x14005e3dd
cmp r14, rbx
je 0x14005e3dd
mov rdi, r14
cmp qword [rdi + 0xa0], rbx
jne 0x14005e324
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001db84
cmp rax, rsi
je 0x14005e324
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001db84
mov rdi, rax
cmp rax, rbx
jne 0x14005e2ea
cmp rdi, rbx
je 0x14005e35c
mov rax, qword [rdi + 0xa0]
cmp rax, rbx
je 0x14005e35c
cmp qword [rax + 0x90], rbx
je 0x14005e35c
mov rcx, qword [rax + 0x90]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 0x28]
cmp eax, ebx
jne 0x14005e35c
mov eax, 1
jmp 0x14005e877
cmp r13d, 0x101
je 0x14005e373
cmp r13d, r15d
je 0x14005e373
cmp r13d, 0x102
jne 0x14005e3ce
cmp rdi, rbx
je 0x14005e3ce
mov rax, qword [rdi + 0xa0]
cmp rax, rbx
je 0x14005e3ce
mov ecx, SafeArrayGetDim
cmp word [r12 + 0x10], cx
jne 0x14005e39f
lea edi, [rcx - 0xc]
test byte [rax + 0xcc], dil
jne 0x14005e3bf
jmp 0x14005e3a4
mov edi, 1
mov r15d, 0x1b
cmp word [r12 + 0x10], r15w
jne 0x14005e3c6
lea r12d, [r15 - 0x19]
test byte [rax + 0xcc], r12b
je 0x14005e3ea
xor eax, eax
jmp 0x14005e877
mov r12d, 2
jmp 0x14005e3ea
mov edi, 1
lea r15d, [rdi + 0x1a]
lea r12d, [rdi + 1]
jmp 0x14005e3ea
mov edi, 1
lea r15d, [rdi + 0x1a]
lea r12d, [rdi + 1]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax]
call fcn.14001db84
mov qword [rsp + 0x38], rax
mov ecx, r13d
sub ecx, 0x100
je 0x14005e4cf
sub ecx, r12d
je 0x14005e44f
cmp ecx, 4
jne 0x14005e797
cmp r14, rbx
jne 0x14005e43a
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetKeyState]
cmp ax, bx
jge 0x14005e7d3
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0xc0]
cmp word [rdx + 0x10], 0x20
je 0x14005e7c9
jmp 0x14005e457
mov rdx, qword [rsp + 0xc0]
mov rcx, rax
call fcn.14005d7ec
cmp r13d, 0x102
jne 0x14005e470
test al, 0x84
jne 0x14005e7bf
mov r13, qword [rsp + 0xc0]
mov edx, 9
cmp word [r13 + 0x10], dx
jne 0x14005e48d
test r12b, al
jne 0x14005e7db
cmp word [r13 + 0x10], 0x20
jne 0x14005e49c
xor eax, eax
jmp 0x14005e877
mov r8, r13
mov rdx, qword [rsp + 0x38]
mov rcx, rsi
call fcn.14005e118
cmp rax, rbx
je 0x14005e7db
mov rcx, qword [rax + 8]
cmp rcx, rbx
je 0x14005e7db
mov rdx, r13
call fcn.140055558
jmp 0x14005e822
mov r13, qword [rsp + 0xc0]
mov rdx, r13
mov rcx, rax
call fcn.14005d7ec
movzx ecx, word [r13 + 0x10]
cmp ecx, 3
je 0x14005e71e
mov edx, 9
cmp ecx, edx
je 0x14005e663
cmp ecx, 0xd
je 0x14005e623
cmp ecx, r15d
je 0x14005e71e
cmp ecx, 0x24
jle 0x14005e7db
cmp ecx, 0x26
jle 0x14005e530
cmp ecx, 0x28
jle 0x14005e535
cmp ecx, 0x2b
je 0x14005e623
jmp 0x14005e7db
mov r15d, edi
jmp 0x14005e538
mov r15d, ebx
mov rdx, r13
mov rcx, r14
call fcn.14005d7ec
test dil, al
jne 0x14005e7db
cmp r15d, ebx
je 0x14005e560
xor edx, edx
mov rcx, rsi
call fcn.140023c8c
mov r12, rax
jmp 0x14005e56d
xor edx, edx
mov rcx, rsi
call fcn.140023cf0
mov r12, rax
cmp r12, rbx
je 0x14005e7db
cmp dword [r12 + 0x10], ebx
je 0x14005e588
mov rdx, r12
mov rcx, rsi
call fcn.140023710
cmp qword [r12 + 8], rbx
je 0x14005e5a5
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x158]
jmp 0x14005e822
cmp qword [r12], rbx
je 0x14005e5b9
mov rcx, qword [r12]
call fcn.14001db84
mov r13, rax
jmp 0x14005e5df
cmp r14, rbx
jne 0x14005e5c3
mov rdx, rbx
jmp 0x14005e5c7
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.14001db84
mov r13, rax
cmp r13, rbx
je 0x14005e7b5
mov rax, qword [rsi + 0x98]
mov qword [rax + 0xd8], rbx
mov rcx, r13
call fcn.14005d8d4
cmp dword [r12 + 0x10], ebx
je 0x14005e822
xor r9d, r9d
mov r8, rdi
mov edx, 0xf1
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_SendMessageA]
jmp 0x14005e822
test al, 4
jne 0x14005e7db
mov rcx, r14
call fcn.14005d894
test al, 0x10
je 0x14005e653
mov r13, r14
mov rcx, r14
call fcn.1400231c4
mov r12d, eax
cmp r14, rbx
jne 0x14005e731
jmp 0x14005e71e
mov rcx, rsi
call fcn.14005dd90
mov r12d, eax
jmp 0x14005e71e
test r12b, al
jne 0x14005e7db
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.14002356c
cmp rax, rbx
je 0x14005e7db
cmp qword [rax + 8], rbx
je 0x14005e6b2
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x158]
jmp 0x14005e822
cmp qword [rax], rbx
je 0x14005e6c4
mov rcx, qword [rax]
call fcn.14001db84
mov r12, rax
jmp 0x14005e6ef
mov rdx, qword [rsp + 0x38]
cmp rdx, rbx
jne 0x14005e6d3
mov rdx, rbx
jmp 0x14005e6d7
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.14001db84
mov r12, rax
cmp r12, rbx
je 0x14005e822
mov rax, qword [rsi + 0x98]
mov qword [rax + 0xd8], rbx
mov rcx, r12
call fcn.14005d8d4
mov rdx, r12
mov rcx, r14
call fcn.14005db44
jmp 0x14005e822
mov edx, r12d
mov rcx, rsi
call fcn.14005dc04
mov r13, rax
cmp rax, rbx
je 0x14005e7ab
mov rcx, r13
call fcn.1400232a4
cmp eax, ebx
jne 0x14005e752
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBeep]
mov r13, qword [rsp + 0xc0]
jmp 0x14005e7db
cmp qword [r13 + 0xa0], rbx
je 0x14005e7a1
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
movzx r9d, bx
movzx r8d, di
mov edx, 0xfffffdd9
mov rcx, r13
call fcn.14002333c
nop
jmp 0x14005e822
mov r13, qword [rsp + 0xc0]
jmp 0x14005e7db
mov r13, qword [rsp + 0xc0]
jmp 0x14005e7db
mov r13, qword [rsp + 0xc0]
jmp 0x14005e7db
mov r13, qword [rsp + 0xc0]
jmp 0x14005e7db
mov r13, qword [rsp + 0xc0]
jmp 0x14005e7db
mov r13, qword [rsp + 0xc0]
jmp 0x14005e7db
mov r13, qword [rsp + 0xc0]
bt dword [rsi + 0x78], 0xc
jb 0x14005e820
mov rdx, r13
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_IsDialogMessageA]
mov edi, eax
cmp eax, ebx
je 0x14005e822
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001db84
cmp rax, r14
je 0x14005e822
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001db84
mov rcx, rax
call fcn.14005daa4
jmp 0x14005e822
mov edi, ebx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x14005e875
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001db84
mov rdx, rax
mov rcx, r14
call fcn.14005db44
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x14005e875
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001db84
mov r8, rax
mov rdx, r14
mov rcx, rsi
call fcn.14005ddcc
mov eax, edi
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret