Function at 0x1400021a0
Capabilities:
Enumerate process modules
Log keystrokes via polling
Set console window title

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x830]
sub rsp, 0x930
mov rax, qword [0x140008010]
xor rax, rsp
mov qword [rbp + 0x820], rax
xor r14d, r14d
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
lea rcx, str.DH_126317878
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
lea ecx, [r14 + 0x38]
call fcn.140003700
mov qword [rsp + 0x60], rax
lea rcx, vtable.std::_Ref_count_obj2_class_pProcess_.0
xorps xmm0, xmm0
xor edx, edx
movups xmmword [rax], xmm0
mov qword [rax], rcx
lea rcx, [rax + 0x10]
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm0
mov qword [rcx + 0x20], rdx
mov rbx, qword [0x1400087b8]
mov qword [0x1400087b0], rcx
mov qword [0x1400087b8], rax
test rbx, rbx
je 0x14000227c
mov eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14000227c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14000227c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
movabs rdi, 0x7fffffffc46535fe
movabs rsi, 0x7fffffffffffffff
mov rbx, qword [0x1400087b0]
call fcn.140002ef0
mov dword [rbx], eax
test eax, eax
jne 0x14000230b
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1400022c0
imul rax, rax, 0x64
jmp 0x1400022de
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
cmp rax, rdi
jg 0x1400022fa
add rax, 0x3b9aca00
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x60], rax
call fcn.140002dc0
jmp 0x140002290
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x60], rsi
call fcn.140002dc0
jmp 0x140002290
mov r8d, eax
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
lea r9, [rbp - 0x30]
mov dword [rsp + 0x20], 2
mov rcx, rax
mov qword [rbx + 8], rax
mov r8d, 0x7f8
lea rdx, [rbp + 0x20]
call qword [sym.imp.KERNEL32.dll_K32EnumProcessModulesEx]
mov rdx, qword [rbp + 0x20]
lea r8, [rbp - 0x28]
mov rcx, qword [rbx + 8]
mov r9d, 0x18
mov qword [rbx + 0x18], rdx
call qword [sym.imp.KERNEL32.dll_K32GetModuleInformation]
mov eax, dword [rbp - 0x20]
mov edx, dword [rbx]
mov qword [rbx + 0x20], rax
call fcn.140003120
mov qword [rbx + 0x10], rax
nop dword [rax]
mov rcx, qword [0x1400087b0]
lea rdx, [rsp + 0x68]
call fcn.1400031e0
movups xmm0, xmmword [rax]
movq rax, xmm0
movups xmmword [0x140008790], xmm0
test rax, rax
jne 0x1400023ff
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1400023b3
imul rax, rax, 0x64
jmp 0x1400023d1
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
cmp rax, rdi
jg 0x1400023e3
add rax, 0x3b9aca00
mov qword [rsp + 0x60], rax
jmp 0x1400023e8
mov qword [rsp + 0x60], rsi
lea rcx, [rsp + 0x60]
call fcn.140002dc0
cmp qword [0x140008790], r14
je 0x140002370
mov rbx, qword [0x1400087b0]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [rbx + 0x10]
je 0x1400024b2
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x140002434
imul rax, rax, 0x64
jmp 0x140002452
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
cmp rax, rdi
jg 0x140002464
add rax, 0x3b9aca00
mov qword [rsp + 0x60], rax
jmp 0x140002469
mov qword [rsp + 0x60], rsi
lea rcx, [rsp + 0x60]
call fcn.140002dc0
mov rbx, qword [0x1400087b0]
mov edx, dword [rbx]
call fcn.140003120
mov qword [rbx + 0x10], rax
mov edx, 1
mov rcx, qword [0x1400087b0]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.USER32.dll_ShowWindow]
mov rbx, qword [0x1400087b0]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [rbx + 0x10]
jne 0x140002416
mov rcx, qword [0x1400087b0]
lea rax, [0x140001fe0]
xorps xmm0, xmm0
mov qword [rbp - 0x70], r14
movdqa xmmword [rbp - 0x60], xmm0
mov edx, 0xfffffffa
mov qword [rbp - 0x38], r14
mov dword [rbp - 0x80], 0x50
mov qword [rbp - 0x78], rax
mov dword [rbp - 0x7c], 3
mov qword [rbp - 0x50], r14
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.USER32.dll_GetWindowLongA]
movsxd rcx, eax
lea rbx, [0x140005664]
mov qword [rbp - 0x68], rcx
lea rcx, [rbp - 0x80]
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x40], rbx
call qword [sym.imp.USER32.dll_RegisterClassExA]
mov rcx, qword [0x1400087b0]
lea rdx, [0x1400087a0]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.USER32.dll_GetClientRect]
mov r8d, dword [0x1400087a0]
mov r9d, 0x80000000
mov ecx, dword [0x1400087ac]
mov rdx, rbx
mov eax, dword [0x1400087a8]
add ecx, r8d
mov qword [rsp + 0x58], r14
sub eax, r8d
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], ecx
mov ecx, 0x800a8
mov dword [rsp + 0x30], eax
mov eax, dword [0x1400087a4]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r8d
lea r8, str.DH_31893176
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov rdi, rax
test rax, rax
je 0x1400026f3
xor r9d, r9d
mov dword [rsp + 0x30], 3
mov dword [rsp + 0x28], r14d
xor r8d, r8d
mov rcx, rax
mov dword [rsp + 0x20], r14d
lea rdx, [r9 - 1]
call qword [sym.imp.USER32.dll_SetWindowPos]
mov edx, 1
mov rcx, rdi
call qword [sym.imp.USER32.dll_ShowWindow]
xor r9d, r9d
lea rcx, [rbp - 0x10]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x14000268f
movabs r14, 0x7ffffffffff0bdbe
nop
mov ecx, 0x24
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400026f3
lea rcx, [rbp - 0x10]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp - 0x10]
call qword [sym.imp.USER32.dll_DispatchMessageA]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x140002636
imul rax, rax, 0x64
jmp 0x140002654
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
cmp rax, r14
jg 0x140002666
add rax, 0xf4240
mov qword [rsp + 0x60], rax
jmp 0x14000266b
mov qword [rsp + 0x60], rsi
lea rcx, [rsp + 0x60]
call fcn.140002dc0
xor r9d, r9d
lea rcx, [rbp - 0x10]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
jne 0x1400025f0
mov rcx, qword [0x1400087c0]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rcx, qword [0x1400087c8]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, rdi
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rcx, qword [0x1400087b0]
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140002a20
lea rdx, [0x1400029e0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
mov eax, 1
jmp 0x1400026f5
xor eax, eax
mov rcx, qword [rbp + 0x820]
xor rcx, rsp
call fcn.1400036e0
lea r11, [rsp + 0x930]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret