Function at 0x140023858
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov rbx, rcx
xor r12d, r12d
mov rcx, qword [rcx]
mov r13, r9
mov r14d, r8d
mov r15d, edx
test rcx, rcx
je 0x1400238a1
mov rax, qword [rcx]
call qword [rax + 0xf0]
mov rsi, rax
test rax, rax
jne 0x1400238b4
jmp 0x1400238a4
mov rsi, r12
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x1400238b4
call qword [sym.imp.KERNEL32.dll_DebugBreak]
mov edi, dword [rbx + 0x1b8]
test edi, edi
je 0x140023b6b
cmp edi, 1
jne 0x1400238d4
cmp byte [rbx + 0x1bc], r12b
jne 0x140023b6b
cmp edi, 3
jne 0x1400238e5
mov dword [rbx + 0x1b8], r12d
jmp 0x140023b6b
cmp byte [rbx + 0x1bd], r12b
je 0x14002390a
mov r9d, dword [rbx + 0x1cc]
mov r8d, r14d
mov edx, dword [rbx + 0x1c8]
mov ecx, r15d
call fcn.1400230f0
test al, al
je 0x14002390d
mov r12b, 1
mov r9b, r12b
mov r8d, r14d
xor r9b, 1
mov edx, r15d
mov rcx, rbx
cmp edi, 1
jne 0x1400239cd
call fcn.14002305c
xor edi, edi
mov dword [rbp - 0x20], r15d
mov rcx, rsi
mov dword [rbp - 0x1c], r14d
mov rdx, qword [rbp - 0x20]
mov dword [rbx + 0x1b8], edi
call fcn.140032818
mov r8, qword [rbp - 0x20]
lea rdx, [rbp - 0x20]
mov r9d, eax
mov dword [rbp + 0x30], eax
mov rcx, rsi
call fcn.140032cc0
mov r14, qword [rbx + 0x330]
mov rcx, rbx
mov qword [rbx + 0x330], rdi
call fcn.140066d68
mov r15, rax
test r12b, r12b
jne 0x140023b6b
mov ecx, dword [rbx + 0x2cc]
sub ecx, 2
cmp ecx, 1
jbe 0x140023b5e
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140023a29
cmp qword [rbx + 0x340], rdi
je 0x140023a29
mov rcx, r15
call fcn.14003c4a4
mov rdx, qword [rbx + 0x340]
mov r8b, 1
mov rcx, r15
call fcn.14003b310
jmp 0x140023b6b
call fcn.14007b030
cmp edi, 2
jne 0x14002392b
xor edi, edi
cmp byte [rbx + 0x200], dil
je 0x14002392d
movups xmm0, xmmword [rbx + 0x204]
or r9d, 0xffffffff
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x10]
mov rcx, rsi
movdqu xmmword [rbp - 0x20], xmm0
call fcn.140032de0
movss xmm0, dword [rax + 8]
movss xmm1, dword [rax + 0xc]
movss dword [rbx + 0x214], xmm0
movss dword [rbx + 0x218], xmm1
jmp 0x14002392d
test r14, r14
je 0x140023af7
movups xmm0, xmmword [r14 + 0x10]
mov rdx, qword [rbp - 0x20]
lea rcx, [rbp - 0x10]
movdqu xmmword [rbp - 0x10], xmm0
call fcn.1400ba7d8
test al, al
je 0x140023af7
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
mov rdi, rax
test rax, rax
je 0x140023ad5
lea rax, str.launchURL
cmp rax, qword [rdi + 8]
je 0x140023a7c
lea rax, str.launchFile
cmp rax, qword [rdi + 8]
jne 0x140023ad5
mov dl, 1
mov rcx, rbx
call fcn.14007a0d4
movups xmm0, xmmword [r14 + 0x10]
mov r8d, dword [rbp + 0x30]
lea r9, [rbp - 0x10]
lea rdx, [rbp - 0x20]
mov rcx, rsi
movdqu xmmword [rbp - 0x10], xmm0
call fcn.140032bf8
lea rdx, [rbp - 0x10]
mov rcx, rsi
movups xmm0, xmmword [rax]
movdqu xmmword [rbp - 0x10], xmm0
call fcn.140079d1c
mov qword [r15 + 0xb8], rax
test rax, rax
mov rcx, rbx
setne al
xor edx, edx
mov byte [rbx + 0x200], al
call fcn.140025e04
mov ecx, 0x7f00
call fcn.1400b8ef0
mov rcx, qword [rbx]
mov rdx, rdi
mov r8, qword [rbx + 0x328]
mov rax, qword [rcx]
call qword [rax + 0xe8]
jmp 0x140023b6b
cmp byte [rbx + 0x200], dil
je 0x140023b0a
mov rcx, rbx
call fcn.1400777d4
jmp 0x140023b6b
cmp byte [rbx + 0x360], dil
je 0x140023b36
mov rax, qword [0x140172270]
cmp byte [rax + 0x200], dil
je 0x140023b36
xor edx, edx
mov byte [rbx + 0x360], dil
mov rcx, rbx
call fcn.140025e04
jmp 0x140023b6b
cmp dword [rbx + 0x2cc], 1
jne 0x140023b6b
mov rcx, qword [r15 + 0x18]
mov rax, qword [rcx]
test r13b, 4
je 0x140023b56
xor edx, edx
call qword [rax + 0xd0]
jmp 0x140023b6b
call qword [rax + Ordinal_203]
jmp 0x140023b6b
mov edx, 1
mov rcx, rbx
call fcn.1400670f8
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret