Function at 0x14001a714
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov rbx, rcx
xor r13d, r13d
mov rcx, qword [rcx]
mov esi, r8d
mov r14d, edx
test rcx, rcx
je 0x14001a757
mov rax, qword [rcx]
call qword [rax + 0xf0]
mov r15, rax
test rax, rax
jne 0x14001a76a
jmp 0x14001a75a
mov r15, r13
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x14001a76a
call qword [sym.imp.KERNEL32.dll_DebugBreak]
mov edi, dword [rbx + 0x1b8]
test edi, edi
je 0x14001aa17
cmp edi, 1
jne 0x14001a78a
cmp byte [rbx + 0x1bc], r13b
jne 0x14001aa17
lea eax, [rdi - 1]
test eax, 0xfffffffc
jne 0x14001a799
cmp edi, 3
jne 0x14001a7a9
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x14001a7a9
call qword [sym.imp.KERNEL32.dll_DebugBreak]
cmp byte [rbx + 0x1bd], r13b
je 0x14001a7d1
mov r9d, dword [rbx + 0x1cc]
mov r8d, esi
mov edx, dword [rbx + 0x1c8]
mov ecx, r14d
call fcn.140019f78
mov r12b, r13b
test al, al
je 0x14001a7d4
mov r12b, 1
mov r9b, r12b
mov r8d, esi
xor r9b, 1
mov edx, r14d
mov rcx, rbx
cmp edi, 1
jne 0x14001a7f0
call fcn.140019ee4
jmp 0x14001a83d
call fcn.14004be58
cmp edi, 2
jne 0x14001a83d
cmp byte [rbx + 0x200], r13b
je 0x14001a83d
movups xmm0, xmmword [rbx + 0x204]
or r9d, 0xffffffff
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x10]
mov rcx, r15
movdqu xmmword [rbp - 0x20], xmm0
call fcn.140027b70
movss xmm0, dword [rax + 8]
movss xmm1, dword [rax + 0xc]
movss dword [rbx + 0x214], xmm0
movss dword [rbx + 0x218], xmm1
mov dword [rbp + 0x40], r14d
mov rcx, r15
mov dword [rbp + 0x44], esi
mov rdx, qword [rbp + 0x40]
mov dword [rbx + 0x1b8], r13d
call fcn.14002759c
mov r8, qword [rbp + 0x40]
lea rdx, [rbp + 0x40]
mov r9d, eax
mov rcx, r15
mov r13d, eax
call fcn.140027a50
mov rsi, qword [rbx + 0x330]
xor edi, edi
mov rcx, rbx
mov qword [rbx + 0x330], rdi
call fcn.140038b38
mov r14, rax
test r12b, r12b
jne 0x14001aa17
mov ecx, dword [rbx + 0x2cc]
sub ecx, 2
cmp ecx, 1
jbe 0x14001aa0a
lea ecx, [rdi + 0x11]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x14001a8d6
cmp qword [rbx + 0x340], rdi
je 0x14001a8d6
mov rcx, r14
call fcn.14002cd7c
mov rdx, qword [rbx + 0x340]
mov rcx, r14
call fcn.14002b7f8
jmp 0x14001aa17
test rsi, rsi
je 0x14001a9a1
movups xmm0, xmmword [rsi + 0x10]
mov rdx, qword [rbp + 0x40]
lea rcx, [rbp - 0x20]
movdqu xmmword [rbp - 0x20], xmm0
call fcn.1400868fc
test al, al
je 0x14001a9a1
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
mov rdi, rax
test rax, rax
je 0x14001a97f
lea rax, str.launchURL
cmp rax, qword [rdi + 8]
je 0x14001a928
lea rax, str.launchFile
cmp rax, qword [rdi + 8]
jne 0x14001a97f
mov dl, 1
mov rcx, rbx
call fcn.14004ab50
movups xmm0, xmmword [rsi + 0x10]
lea r9, [rbp - 0x20]
mov r8d, r13d
lea rdx, [rbp - 0x10]
mov rcx, r15
movdqu xmmword [rbp - 0x20], xmm0
call fcn.140027984
lea rdx, [rbp - 0x20]
mov rcx, r15
movups xmm0, xmmword [rax]
movdqu xmmword [rbp - 0x20], xmm0
call fcn.14004a780
mov qword [r14 + 0xb8], rax
test rax, rax
mov rcx, rbx
setne al
xor edx, edx
mov byte [rbx + 0x200], al
call fcn.14001cb48
mov ecx, 0x7f00
call fcn.140085bbc
mov rcx, qword [rbx]
mov rdx, rdi
mov r8, qword [rbx + 0x328]
mov rax, qword [rcx]
call qword [rax + 0xe8]
jmp 0x14001aa17
cmp byte [rbx + 0x200], dil
je 0x14001a9c0
mov dl, 1
mov rcx, rbx
call fcn.14004ab50
xor edx, edx
mov rcx, rbx
call fcn.14001cb48
jmp 0x14001aa17
cmp byte [rbx + 0x360], dil
je 0x14001a9e2
mov rax, qword [0x140167368]
cmp byte [rax + 0xe0], dil
je 0x14001a9e2
mov byte [rbx + 0x360], dil
jmp 0x14001a9b4
cmp dword [rbx + 0x2cc], 1
jne 0x14001aa17
test byte [rbp + 0x58], 4
mov rcx, qword [r14 + 0x18]
mov rax, qword [rcx]
je 0x14001aa02
xor edx, edx
call qword [rax + 0xd0]
jmp 0x14001aa17
call qword [rax + 0xc8]
jmp 0x14001aa17
mov edx, 1
mov rcx, rbx
call fcn.140038ec4
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret