Function at 0x14005a4f8
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 0x14005a52e
mov qword [rsp + 0x40], rbx
jmp 0x14005a537
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.140015e58
mov r14, rax
mov qword [rsp + 0x48], rax
mov r15d, 0x100
cmp r13d, r15d
jb 0x14005a56a
cmp r13d, 0x109
jbe 0x14005a57a
lea eax, [r13 - 0x200]
cmp eax, 9
ja 0x14005a679
cmp r14, rbx
je 0x14005a679
mov rdi, r14
cmp qword [rdi + 0xa0], rbx
jne 0x14005a5c0
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.140015e58
cmp rax, rsi
je 0x14005a5c0
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.140015e58
mov rdi, rax
cmp rax, rbx
jne 0x14005a586
cmp rdi, rbx
je 0x14005a5f8
mov rax, qword [rdi + 0xa0]
cmp rax, rbx
je 0x14005a5f8
cmp qword [rax + 0x90], rbx
je 0x14005a5f8
mov rcx, qword [rax + 0x90]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + reloc.OLEAUT32.dll_SafeArrayAllocDescriptorEx]
cmp eax, ebx
jne 0x14005a5f8
mov eax, 1
jmp 0x14005ab13
cmp r13d, 0x101
je 0x14005a60f
cmp r13d, r15d
je 0x14005a60f
cmp r13d, 0x102
jne 0x14005a66a
cmp rdi, rbx
je 0x14005a66a
mov rax, qword [rdi + 0xa0]
cmp rax, rbx
je 0x14005a66a
mov ecx, SafeArrayGetDim
cmp word [r12 + 0x10], cx
jne 0x14005a63b
lea edi, [rcx - 0xc]
test byte [rax + 0xcc], dil
jne 0x14005a65b
jmp 0x14005a640
mov edi, 1
mov r15d, reloc.OLEAUT32.dll_DispGetParam
cmp word [r12 + 0x10], r15w
jne 0x14005a662
lea r12d, [r15 - 0x19]
test byte [rax + 0xcc], r12b
je 0x14005a686
xor eax, eax
jmp 0x14005ab13
mov r12d, 2
jmp 0x14005a686
mov edi, 1
lea r15d, [rdi + 0x1a]
lea r12d, [rdi + 1]
jmp 0x14005a686
mov edi, 1
lea r15d, [rdi + 0x1a]
lea r12d, [rdi + 1]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax]
call fcn.140015e58
mov qword [rsp + 0x38], rax
mov ecx, r13d
sub ecx, 0x100
je 0x14005a76b
sub ecx, r12d
je 0x14005a6eb
cmp ecx, 4
jne 0x14005aa33
cmp r14, rbx
jne 0x14005a6d6
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetUBound
call qword [sym.imp.USER32.dll_GetKeyState]
cmp ax, bx
jge 0x14005aa6f
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0xc0]
cmp word [rdx + 0x10], 0x20
je 0x14005aa65
jmp 0x14005a6f3
mov rdx, qword [rsp + 0xc0]
mov rcx, rax
call fcn.14005997c
cmp r13d, 0x102
jne 0x14005a70c
test al, 0x84
jne 0x14005aa5b
mov r13, qword [rsp + 0xc0]
mov edx, 9
cmp word [r13 + 0x10], dx
jne 0x14005a729
test r12b, al
jne 0x14005aa77
cmp word [r13 + 0x10], 0x20
jne 0x14005a738
xor eax, eax
jmp 0x14005ab13
mov r8, r13
mov rdx, qword [rsp + 0x38]
mov rcx, rsi
call fcn.14005a3b4
cmp rax, rbx
je 0x14005aa77
mov rcx, qword [rax + 8]
cmp rcx, rbx
je 0x14005aa77
mov rdx, r13
call fcn.1400503b0
jmp 0x14005aabe
mov r13, qword [rsp + 0xc0]
mov rdx, r13
mov rcx, rax
call fcn.14005997c
movzx ecx, word [r13 + 0x10]
cmp ecx, 3
je 0x14005a9ba
mov edx, 9
cmp ecx, edx
je 0x14005a8ff
cmp ecx, 0xd
je 0x14005a8bf
cmp ecx, r15d
je 0x14005a9ba
cmp ecx, 0x24
jle 0x14005aa77
cmp ecx, 0x26
jle 0x14005a7cc
cmp ecx, 0x28
jle 0x14005a7d1
cmp ecx, 0x2b
je 0x14005a8bf
jmp 0x14005aa77
mov r15d, edi
jmp 0x14005a7d4
mov r15d, ebx
mov rdx, r13
mov rcx, r14
call fcn.14005997c
test dil, al
jne 0x14005aa77
cmp r15d, ebx
je 0x14005a7fc
xor edx, edx
mov rcx, rsi
call fcn.14001160c
mov r12, rax
jmp 0x14005a809
xor edx, edx
mov rcx, rsi
call fcn.140011670
mov r12, rax
cmp r12, rbx
je 0x14005aa77
cmp dword [r12 + 0x10], ebx
je 0x14005a824
mov rdx, r12
mov rcx, rsi
call fcn.140010ec4
cmp qword [r12 + 8], rbx
je 0x14005a841
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x158]
jmp 0x14005aabe
cmp qword [r12], rbx
je 0x14005a855
mov rcx, qword [r12]
call fcn.140015e58
mov r13, rax
jmp 0x14005a87b
cmp r14, rbx
jne 0x14005a85f
mov rdx, rbx
jmp 0x14005a863
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.140015e58
mov r13, rax
cmp r13, rbx
je 0x14005aa51
mov rax, qword [rsi + 0x98]
mov qword [rax + 0xd8], rbx
mov rcx, r13
call fcn.140059b70
cmp dword [r12 + 0x10], ebx
je 0x14005aabe
xor r9d, r9d
mov r8, rdi
mov edx, 0xf1
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_SendMessageA]
jmp 0x14005aabe
test al, 4
jne 0x14005aa77
mov rcx, r14
call fcn.140059ad0
test al, 0x10
je 0x14005a8ef
mov r13, r14
mov rcx, r14
call fcn.1400104e0
mov r12d, eax
cmp r14, rbx
jne 0x14005a9cd
jmp 0x14005a9ba
mov rcx, rsi
call fcn.14005a02c
mov r12d, eax
jmp 0x14005a9ba
test r12b, al
jne 0x14005aa77
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.140010d08
cmp rax, rbx
je 0x14005aa77
cmp qword [rax + 8], rbx
je 0x14005a94e
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x158]
jmp 0x14005aabe
cmp qword [rax], rbx
je 0x14005a960
mov rcx, qword [rax]
call fcn.140015e58
mov r12, rax
jmp 0x14005a98b
mov rdx, qword [rsp + 0x38]
cmp rdx, rbx
jne 0x14005a96f
mov rdx, rbx
jmp 0x14005a973
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.140015e58
mov r12, rax
cmp r12, rbx
je 0x14005aabe
mov rax, qword [rsi + 0x98]
mov qword [rax + 0xd8], rbx
mov rcx, r12
call fcn.140059b70
mov rdx, r12
mov rcx, r14
call fcn.140059de0
jmp 0x14005aabe
mov edx, r12d
mov rcx, rsi
call fcn.140059ea0
mov r13, rax
cmp rax, rbx
je 0x14005aa47
mov rcx, r13
call fcn.1400105c0
cmp eax, ebx
jne 0x14005a9ee
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBeep]
mov r13, qword [rsp + 0xc0]
jmp 0x14005aa77
cmp qword [r13 + 0xa0], rbx
je 0x14005aa3d
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
movzx r9d, bx
movzx r8d, di
mov edx, 0xfffffdd9
mov rcx, r13
call fcn.140010658
nop
jmp 0x14005aabe
mov r13, qword [rsp + 0xc0]
jmp 0x14005aa77
mov r13, qword [rsp + 0xc0]
jmp 0x14005aa77
mov r13, qword [rsp + 0xc0]
jmp 0x14005aa77
mov r13, qword [rsp + 0xc0]
jmp 0x14005aa77
mov r13, qword [rsp + 0xc0]
jmp 0x14005aa77
mov r13, qword [rsp + 0xc0]
jmp 0x14005aa77
mov r13, qword [rsp + 0xc0]
bt dword [rsi + 0x78], 0xc
jb 0x14005aabc
mov rdx, r13
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_IsDialogMessageA]
mov edi, eax
cmp eax, ebx
je 0x14005aabe
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.140015e58
cmp rax, r14
je 0x14005aabe
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.140015e58
mov rcx, rax
call fcn.140059d40
jmp 0x14005aabe
mov edi, ebx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x14005ab11
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.140015e58
mov rdx, rax
mov rcx, r14
call fcn.140059de0
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x14005ab11
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.140015e58
mov r8, rax
mov rdx, r14
mov rcx, rsi
call fcn.14005a068
mov eax, edi
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret