Function at 0x14013ab78
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov r15, r8
mov rsi, rdx
xor ebx, ebx
test rdx, rdx
jne 0x14013aba9
mov qword [rsp + 0x38], rbx
jmp 0x14013abb2
mov rax, qword [rdx + 0x40]
mov qword [rsp + 0x38], rax
mov r14d, dword [r8 + 8]
call qword [sym.imp.USER32.dll_GetFocus]
mov qword [rsp + 0x48], rax
mov rcx, rax
call fcn.14001d820
mov r13, rax
mov qword [rsp + 0x40], rax
mov r12d, 0x100
cmp r14d, r12d
jb 0x14013abe5
cmp r14d, 0x109
jbe 0x14013abf5
lea eax, [r14 - 0x200]
cmp eax, 9
ja 0x14013acd3
test r13, r13
je 0x14013acd3
mov rdi, r13
cmp qword [rdi + 0xc8], rbx
jne 0x14013ac3b
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001d820
cmp rax, rsi
je 0x14013ac3b
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001d820
mov rdi, rax
test rax, rax
jne 0x14013ac01
test rdi, rdi
je 0x14013ac73
mov rax, qword [rdi + 0xc8]
test rax, rax
je 0x14013ac73
cmp qword [rax + 0x90], rbx
je 0x14013ac73
mov rcx, qword [rax + 0x90]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + 0x28]
test eax, eax
jne 0x14013ac73
mov eax, 1
jmp 0x14013b128
cmp r14d, 0x101
je 0x14013ac8a
cmp r14d, r12d
je 0x14013ac8a
cmp r14d, 0x102
jne 0x14013acd3
test rdi, rdi
je 0x14013acd3
mov rax, qword [rdi + 0xc8]
test rax, rax
je 0x14013acd3
mov ecx, recv
lea edi, [rcx - 0xc]
cmp word [r15 + 0x10], cx
jne 0x14013acb3
test byte [rax + 0xcc], dil
jne 0x14013accc
mov ecx, 0x1b
lea r12d, [rcx - 0x19]
cmp word [r15 + 0x10], cx
jne 0x14013acde
test byte [rax + 0xcc], r12b
je 0x14013acde
xor eax, eax
jmp 0x14013b128
mov r12d, 2
lea edi, [r12 - 1]
mov rcx, qword [r15]
call fcn.14001d820
mov qword [rsp + 0x30], rax
mov edx, ebx
mov dword [rsp + 0xb0], ebx
mov ecx, r14d
sub ecx, 0x100
je 0x14013adc6
sub ecx, r12d
je 0x14013ad3a
cmp ecx, 4
jne 0x14013b087
test r13, r13
jne 0x14013ad2e
lea ecx, [r13 + 0x12]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x14013b087
mov rax, qword [rsp + 0x30]
cmp word [r15 + 0x10], 0x20
je 0x14013b087
test rax, rax
jne 0x14013ad43
mov ecx, ebx
jmp 0x14013ad61
mov r9, r15
mov r8, qword [r15 + 0x10]
mov edx, 0x87
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, rax
mov rax, qword [rsp + 0x30]
cmp r14d, 0x102
jne 0x14013ad73
test cl, 0x84
jne 0x14013b087
mov r8d, 9
cmp word [r15 + 0x10], r8w
jne 0x14013ad89
test r12b, cl
jne 0x14013b087
cmp word [r15 + 0x10], 0x20
je 0x14013accc
mov r8, r15
mov rdx, rax
mov rcx, rsi
call fcn.14013aa34
test rax, rax
je 0x14013b087
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14013b087
mov rdx, r15
call fcn.1401327e0
jmp 0x14013b0d3
test rax, rax
jne 0x14013adcf
mov eax, ebx
jmp 0x14013ade7
mov r9, r15
mov r8, qword [r15 + 0x10]
mov edx, 0x87
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov edx, ebx
movzx ecx, word [r15 + 0x10]
cmp ecx, 3
je 0x14013b01f
mov r8d, 9
cmp ecx, r8d
je 0x14013af78
cmp ecx, 0xd
je 0x14013af38
cmp ecx, 0x1b
je 0x14013b01f
cmp ecx, 0x24
jle 0x14013b087
cmp ecx, 0x26
jle 0x14013ae37
cmp ecx, 0x28
jle 0x14013ae40
cmp ecx, 0x2b
je 0x14013af38
jmp 0x14013b087
mov edx, edi
mov dword [rsp + 0xb0], edx
test r13, r13
jne 0x14013ae49
mov eax, ebx
jmp 0x14013ae66
mov r9, r15
mov r8, qword [r15 + 0x10]
mov edx, 0x87
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [rsp + 0xb0]
test dil, al
jne 0x14013b087
mov rcx, rsi
test edx, edx
je 0x14013ae7f
xor edx, edx
call fcn.1400254b4
jmp 0x14013ae86
xor edx, edx
call fcn.140025518
mov r12, rax
test rax, rax
je 0x14013b087
cmp dword [rax + 0x10], ebx
je 0x14013aea2
mov rdx, rax
mov rcx, rsi
call fcn.140024f78
cmp qword [r12 + 8], rbx
je 0x14013aebf
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + 0x158]
jmp 0x14013b0d3
cmp qword [r12], rbx
je 0x14013aecb
mov rcx, qword [r12]
jmp 0x14013aeec
test r13, r13
mov rdx, rbx
je 0x14013aed7
mov rdx, qword [r13 + 0x40]
mov r8d, dword [rsp + 0xb0]
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_GetNextDlgGroupItem]
mov rcx, rax
call fcn.14001d820
mov r14, rax
test rax, rax
je 0x14013b087
mov rax, qword [rsi + 0xc0]
mov qword [rax + 0xd8], rbx
mov rcx, r14
call fcn.14013a1dc
cmp dword [r12 + 0x10], ebx
je 0x14013b0d3
xor r9d, r9d
mov r8, rdi
mov edx, 0xf1
mov rcx, qword [r14 + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x14013b0d3
test al, 4
jne 0x14013b087
mov rcx, r13
call fcn.14013a198
test al, 0x10
je 0x14013af68
mov r14, r13
mov rcx, r13
call fcn.1400249ec
mov r12d, eax
test r13, r13
jne 0x14013b032
jmp 0x14013b01f
mov rcx, rsi
call fcn.14013a6b4
mov r12d, eax
jmp 0x14013b01f
test r12b, al
jne 0x14013b087
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetKeyState]
mov r12d, ebx
test ax, ax
sets r12b
mov r8d, r12d
xor edx, edx
mov rcx, rsi
call fcn.140024dd0
test rax, rax
je 0x14013b087
cmp qword [rax + 8], rbx
je 0x14013afbb
mov rcx, qword [rax + 8]
jmp 0x14013aeae
cmp qword [rax], rbx
je 0x14013afc5
mov rcx, qword [rax]
jmp 0x14013afe8
mov rdx, qword [rsp + 0x30]
test rdx, rdx
jne 0x14013afd4
mov rdx, rbx
jmp 0x14013afd8
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.14001d820
mov r12, rax
test rax, rax
je 0x14013b0d3
mov rax, qword [rsi + 0xc0]
mov qword [rax + 0xd8], rbx
mov rcx, r12
call fcn.14013a1dc
mov rdx, r12
mov rcx, r13
call fcn.14013a468
jmp 0x14013b0d3
mov edx, r12d
mov rcx, rsi
call fcn.14013a528
mov r14, rax
test rax, rax
je 0x14013b087
mov rcx, r14
call fcn.140024ab4
test eax, eax
jne 0x14013b048
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBeep]
jmp 0x14013b087
cmp qword [r14 + 0xc8], rbx
je 0x14013b087
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
movzx r9d, bx
movzx r8d, di
mov edx, 0xfffffdd9
mov rcx, r14
call fcn.140024b04
nop
jmp 0x14013b0d3
test dword [rsi + 0xa0], 0x1000
jne 0x14013b0d1
mov rdx, r15
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_IsDialogMessageW]
mov edi, eax
test eax, eax
je 0x14013b0d3
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001d820
cmp rax, r13
je 0x14013b0d3
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001d820
mov rcx, rax
call fcn.14013a3c8
jmp 0x14013b0d3
mov edi, ebx
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x14013b126
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001d820
mov rdx, rax
mov rcx, r13
call fcn.14013a468
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x14013b126
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001d820
mov r8, rax
mov rdx, r13
mov rcx, rsi
call fcn.14013a6f0
mov eax, edi
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret