Function at 0x140030948
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 0x14003097e
mov qword [rsp + 0x40], rbx
jmp 0x140030987
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.140013304
mov r14, rax
mov qword [rsp + 0x48], rax
mov r15d, 0x100
cmp r13d, r15d
jb 0x1400309ba
cmp r13d, 0x109
jbe 0x1400309ca
lea eax, [r13 - 0x200]
cmp eax, 9
ja 0x140030ac9
cmp r14, rbx
je 0x140030ac9
mov rdi, r14
cmp qword [rdi + 0xa0], rbx
jne 0x140030a10
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.140013304
cmp rax, rsi
je 0x140030a10
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.140013304
mov rdi, rax
cmp rax, rbx
jne 0x1400309d6
cmp rdi, rbx
je 0x140030a48
mov rax, qword [rdi + 0xa0]
cmp rax, rbx
je 0x140030a48
cmp qword [rax + 0x90], rbx
je 0x140030a48
mov rcx, qword [rax + 0x90]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 0x28]
cmp eax, ebx
jne 0x140030a48
mov eax, 1
jmp 0x140030f63
cmp r13d, 0x101
je 0x140030a5f
cmp r13d, r15d
je 0x140030a5f
cmp r13d, 0x102
jne 0x140030aba
cmp rdi, rbx
je 0x140030aba
mov rax, qword [rdi + 0xa0]
cmp rax, rbx
je 0x140030aba
mov ecx, SafeArrayGetDim
cmp word [r12 + 0x10], cx
jne 0x140030a8b
lea edi, [rcx - 0xc]
test byte [rax + 0xcc], dil
jne 0x140030aab
jmp 0x140030a90
mov edi, 1
mov r15d, 0x1b
cmp word [r12 + 0x10], r15w
jne 0x140030ab2
lea r12d, [r15 - 0x19]
test byte [rax + 0xcc], r12b
je 0x140030ad6
xor eax, eax
jmp 0x140030f63
mov r12d, 2
jmp 0x140030ad6
mov edi, 1
lea r15d, [rdi + 0x1a]
lea r12d, [rdi + 1]
jmp 0x140030ad6
mov edi, 1
lea r15d, [rdi + 0x1a]
lea r12d, [rdi + 1]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax]
call fcn.140013304
mov qword [rsp + 0x38], rax
mov ecx, r13d
sub ecx, 0x100
je 0x140030bbb
sub ecx, r12d
je 0x140030b3b
cmp ecx, 4
jne 0x140030e83
cmp r14, rbx
jne 0x140030b26
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetKeyState]
cmp ax, bx
jge 0x140030ebf
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0xc0]
cmp word [rdx + 0x10], 0x20
je 0x140030eb5
jmp 0x140030b43
mov rdx, qword [rsp + 0xc0]
mov rcx, rax
call fcn.14002fed8
cmp r13d, 0x102
jne 0x140030b5c
test al, 0x84
jne 0x140030eab
mov r13, qword [rsp + 0xc0]
mov edx, 9
cmp word [r13 + 0x10], dx
jne 0x140030b79
test r12b, al
jne 0x140030ec7
cmp word [r13 + 0x10], 0x20
jne 0x140030b88
xor eax, eax
jmp 0x140030f63
mov r8, r13
mov rdx, qword [rsp + 0x38]
mov rcx, rsi
call fcn.140030804
cmp rax, rbx
je 0x140030ec7
mov rcx, qword [rax + 8]
cmp rcx, rbx
je 0x140030ec7
mov rdx, r13
call fcn.140027c4c
jmp 0x140030f0e
mov r13, qword [rsp + 0xc0]
mov rdx, r13
mov rcx, rax
call fcn.14002fed8
movzx ecx, word [r13 + 0x10]
cmp ecx, 3
je 0x140030e0a
mov edx, 9
cmp ecx, edx
je 0x140030d4f
cmp ecx, 0xd
je 0x140030d0f
cmp ecx, r15d
je 0x140030e0a
cmp ecx, 0x24
jle 0x140030ec7
cmp ecx, 0x26
jle 0x140030c1c
cmp ecx, 0x28
jle 0x140030c21
cmp ecx, 0x2b
je 0x140030d0f
jmp 0x140030ec7
mov r15d, edi
jmp 0x140030c24
mov r15d, ebx
mov rdx, r13
mov rcx, r14
call fcn.14002fed8
test dil, al
jne 0x140030ec7
cmp r15d, ebx
je 0x140030c4c
xor edx, edx
mov rcx, rsi
call fcn.14001bae0
mov r12, rax
jmp 0x140030c59
xor edx, edx
mov rcx, rsi
call fcn.14001bb44
mov r12, rax
cmp r12, rbx
je 0x140030ec7
cmp dword [r12 + 0x10], ebx
je 0x140030c74
mov rdx, r12
mov rcx, rsi
call fcn.14001b564
cmp qword [r12 + 8], rbx
je 0x140030c91
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x158]
jmp 0x140030f0e
cmp qword [r12], rbx
je 0x140030ca5
mov rcx, qword [r12]
call fcn.140013304
mov r13, rax
jmp 0x140030ccb
cmp r14, rbx
jne 0x140030caf
mov rdx, rbx
jmp 0x140030cb3
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.140013304
mov r13, rax
cmp r13, rbx
je 0x140030ea1
mov rax, qword [rsi + 0x98]
mov qword [rax + 0xd8], rbx
mov rcx, r13
call fcn.14002ffc0
cmp dword [r12 + 0x10], ebx
je 0x140030f0e
xor r9d, r9d
mov r8, rdi
mov edx, 0xf1
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_SendMessageA]
jmp 0x140030f0e
test al, 4
jne 0x140030ec7
mov rcx, r14
call fcn.14002ff80
test al, 0x10
je 0x140030d3f
mov r13, r14
mov rcx, r14
call fcn.14001b084
mov r12d, eax
cmp r14, rbx
jne 0x140030e1d
jmp 0x140030e0a
mov rcx, rsi
call fcn.14003047c
mov r12d, eax
jmp 0x140030e0a
test r12b, al
jne 0x140030ec7
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.14001b3c0
cmp rax, rbx
je 0x140030ec7
cmp qword [rax + 8], rbx
je 0x140030d9e
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x158]
jmp 0x140030f0e
cmp qword [rax], rbx
je 0x140030db0
mov rcx, qword [rax]
call fcn.140013304
mov r12, rax
jmp 0x140030ddb
mov rdx, qword [rsp + 0x38]
cmp rdx, rbx
jne 0x140030dbf
mov rdx, rbx
jmp 0x140030dc3
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.140013304
mov r12, rax
cmp r12, rbx
je 0x140030f0e
mov rax, qword [rsi + 0x98]
mov qword [rax + 0xd8], rbx
mov rcx, r12
call fcn.14002ffc0
mov rdx, r12
mov rcx, r14
call fcn.140030230
jmp 0x140030f0e
mov edx, r12d
mov rcx, rsi
call fcn.1400302f0
mov r13, rax
cmp rax, rbx
je 0x140030e97
mov rcx, r13
call fcn.14001b12c
cmp eax, ebx
jne 0x140030e3e
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBeep]
mov r13, qword [rsp + 0xc0]
jmp 0x140030ec7
cmp qword [r13 + 0xa0], rbx
je 0x140030e8d
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
movzx r9d, bx
movzx r8d, di
mov edx, 0xfffffdd9
mov rcx, r13
call fcn.14001b1c4
nop
jmp 0x140030f0e
mov r13, qword [rsp + 0xc0]
jmp 0x140030ec7
mov r13, qword [rsp + 0xc0]
jmp 0x140030ec7
mov r13, qword [rsp + 0xc0]
jmp 0x140030ec7
mov r13, qword [rsp + 0xc0]
jmp 0x140030ec7
mov r13, qword [rsp + 0xc0]
jmp 0x140030ec7
mov r13, qword [rsp + 0xc0]
jmp 0x140030ec7
mov r13, qword [rsp + 0xc0]
bt dword [rsi + 0x78], 0xc
jb 0x140030f0c
mov rdx, r13
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_IsDialogMessageA]
mov edi, eax
cmp eax, ebx
je 0x140030f0e
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.140013304
cmp rax, r14
je 0x140030f0e
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.140013304
mov rcx, rax
call fcn.140030190
jmp 0x140030f0e
mov edi, ebx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x140030f61
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.140013304
mov rdx, rax
mov rcx, r14
call fcn.140030230
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x140030f61
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.140013304
mov r8, rax
mov rdx, r14
mov rcx, rsi
call fcn.1400304b8
mov eax, edi
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret