Function at 0x140037520
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 0x140037556
mov qword [rsp + 0x40], rbx
jmp 0x14003755f
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.14001ceac
mov r14, rax
mov qword [rsp + 0x48], rax
mov r15d, pe_nt_image_headers64
cmp r13d, r15d
jb 0x140037592
cmp r13d, 0x109
jbe 0x1400375a2
lea eax, [r13 - 0x200]
cmp eax, 9
ja 0x1400376a1
cmp r14, rbx
je 0x1400376a1
mov rdi, r14
cmp qword [rdi + 0xa0], rbx
jne 0x1400375e8
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001ceac
cmp rax, rsi
je 0x1400375e8
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001ceac
mov rdi, rax
cmp rax, rbx
jne 0x1400375ae
cmp rdi, rbx
je 0x140037620
mov rax, qword [rdi + 0xa0]
cmp rax, rbx
je 0x140037620
cmp qword [rax + 0x90], rbx
je 0x140037620
mov rcx, qword [rax + 0x90]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 0x28]
cmp eax, ebx
jne 0x140037620
mov eax, 1
jmp 0x140037b3b
cmp r13d, 0x101
je 0x140037637
cmp r13d, r15d
je 0x140037637
cmp r13d, 0x102
jne 0x140037692
cmp rdi, rbx
je 0x140037692
mov rax, qword [rdi + 0xa0]
cmp rax, rbx
je 0x140037692
mov ecx, 0xd
cmp word [r12 + 0x10], cx
jne 0x140037663
lea edi, [rcx - 0xc]
test byte [rax + 0xcc], dil
jne 0x140037683
jmp 0x140037668
mov edi, 1
mov r15d, 0x1b
cmp word [r12 + 0x10], r15w
jne 0x14003768a
lea r12d, [r15 - 0x19]
test byte [rax + 0xcc], r12b
je 0x1400376ae
xor eax, eax
jmp 0x140037b3b
mov r12d, 2
jmp 0x1400376ae
mov edi, 1
lea r15d, [rdi + 0x1a]
lea r12d, [rdi + 1]
jmp 0x1400376ae
mov edi, 1
lea r15d, [rdi + 0x1a]
lea r12d, [rdi + 1]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax]
call fcn.14001ceac
mov qword [rsp + 0x38], rax
mov ecx, r13d
sub ecx, 0x100
je 0x140037793
sub ecx, r12d
je 0x140037713
cmp ecx, 4
jne 0x140037a5b
cmp r14, rbx
jne 0x1400376fe
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetKeyState]
cmp ax, bx
jge 0x140037a97
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0xc0]
cmp word [rdx + 0x10], 0x20
je 0x140037a8d
jmp 0x14003771b
mov rdx, qword [rsp + 0xc0]
mov rcx, rax
call fcn.140036ab0
cmp r13d, 0x102
jne 0x140037734
test al, 0x84
jne 0x140037a83
mov r13, qword [rsp + 0xc0]
mov edx, 9
cmp word [r13 + 0x10], dx
jne 0x140037751
test r12b, al
jne 0x140037a9f
cmp word [r13 + 0x10], 0x20
jne 0x140037760
xor eax, eax
jmp 0x140037b3b
mov r8, r13
mov rdx, qword [rsp + 0x38]
mov rcx, rsi
call fcn.1400373dc
cmp rax, rbx
je 0x140037a9f
mov rcx, qword [rax + 8]
cmp rcx, rbx
je 0x140037a9f
mov rdx, r13
call fcn.14002e798
jmp 0x140037ae6
mov r13, qword [rsp + 0xc0]
mov rdx, r13
mov rcx, rax
call fcn.140036ab0
movzx ecx, word [r13 + 0x10]
cmp ecx, 3
je 0x1400379e2
mov edx, 9
cmp ecx, edx
je 0x140037927
cmp ecx, 0xd
je 0x1400378e7
cmp ecx, r15d
je 0x1400379e2
cmp ecx, 0x24
jle 0x140037a9f
cmp ecx, 0x26
jle 0x1400377f4
cmp ecx, 0x28
jle 0x1400377f9
cmp ecx, 0x2b
je 0x1400378e7
jmp 0x140037a9f
mov r15d, edi
jmp 0x1400377fc
mov r15d, ebx
mov rdx, r13
mov rcx, r14
call fcn.140036ab0
test dil, al
jne 0x140037a9f
cmp r15d, ebx
je 0x140037824
xor edx, edx
mov rcx, rsi
call fcn.1400174e8
mov r12, rax
jmp 0x140037831
xor edx, edx
mov rcx, rsi
call fcn.14001754c
mov r12, rax
cmp r12, rbx
je 0x140037a9f
cmp dword [r12 + 0x10], ebx
je 0x14003784c
mov rdx, r12
mov rcx, rsi
call fcn.140016f6c
cmp qword [r12 + 8], rbx
je 0x140037869
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x158]
jmp 0x140037ae6
cmp qword [r12], rbx
je 0x14003787d
mov rcx, qword [r12]
call fcn.14001ceac
mov r13, rax
jmp 0x1400378a3
cmp r14, rbx
jne 0x140037887
mov rdx, rbx
jmp 0x14003788b
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.14001ceac
mov r13, rax
cmp r13, rbx
je 0x140037a79
mov rax, qword [rsi + 0x98]
mov qword [rax + 0xd8], rbx
mov rcx, r13
call fcn.140036b98
cmp dword [r12 + 0x10], ebx
je 0x140037ae6
xor r9d, r9d
mov r8, rdi
mov edx, 0xf1
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140037ae6
test al, 4
jne 0x140037a9f
mov rcx, r14
call fcn.140036b58
test al, 0x10
je 0x140037917
mov r13, r14
mov rcx, r14
call fcn.140016a2c
mov r12d, eax
cmp r14, rbx
jne 0x1400379f5
jmp 0x1400379e2
mov rcx, rsi
call fcn.140037054
mov r12d, eax
jmp 0x1400379e2
test r12b, al
jne 0x140037a9f
mov ecx, 0x10
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.140016dc8
cmp rax, rbx
je 0x140037a9f
cmp qword [rax + 8], rbx
je 0x140037976
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x158]
jmp 0x140037ae6
cmp qword [rax], rbx
je 0x140037988
mov rcx, qword [rax]
call fcn.14001ceac
mov r12, rax
jmp 0x1400379b3
mov rdx, qword [rsp + 0x38]
cmp rdx, rbx
jne 0x140037997
mov rdx, rbx
jmp 0x14003799b
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.14001ceac
mov r12, rax
cmp r12, rbx
je 0x140037ae6
mov rax, qword [rsi + 0x98]
mov qword [rax + 0xd8], rbx
mov rcx, r12
call fcn.140036b98
mov rdx, r12
mov rcx, r14
call fcn.140036e08
jmp 0x140037ae6
mov edx, r12d
mov rcx, rsi
call fcn.140036ec8
mov r13, rax
cmp rax, rbx
je 0x140037a6f
mov rcx, r13
call fcn.140016ad4
cmp eax, ebx
jne 0x140037a16
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBeep]
mov r13, qword [rsp + 0xc0]
jmp 0x140037a9f
cmp qword [r13 + 0xa0], rbx
je 0x140037a65
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
movzx r9d, bx
movzx r8d, di
mov edx, 0xfffffdd9
mov rcx, r13
call fcn.140016b6c
nop
jmp 0x140037ae6
mov r13, qword [rsp + 0xc0]
jmp 0x140037a9f
mov r13, qword [rsp + 0xc0]
jmp 0x140037a9f
mov r13, qword [rsp + 0xc0]
jmp 0x140037a9f
mov r13, qword [rsp + 0xc0]
jmp 0x140037a9f
mov r13, qword [rsp + 0xc0]
jmp 0x140037a9f
mov r13, qword [rsp + 0xc0]
jmp 0x140037a9f
mov r13, qword [rsp + 0xc0]
bt dword [rsi + 0x78], 0xc
jb 0x140037ae4
mov rdx, r13
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_IsDialogMessageW]
mov edi, eax
cmp eax, ebx
je 0x140037ae6
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001ceac
cmp rax, r14
je 0x140037ae6
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001ceac
mov rcx, rax
call fcn.140036d68
jmp 0x140037ae6
mov edi, ebx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x140037b39
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001ceac
mov rdx, rax
mov rcx, r14
call fcn.140036e08
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x140037b39
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001ceac
mov r8, rax
mov rdx, r14
mov rcx, rsi
call fcn.140037090
mov eax, edi
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret