Function at 0x140001580
Capabilities:
Create thread
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xe0
movaps xmmword [rsp + 0xd0], xmm6
mov rax, qword [0x140006040]
xor rax, rsp
mov qword [rbp + 0x3f], rax
xor ebx, ebx
lea rdx, str.Started_
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001c80
lea rdx, [0x140001e50]
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]
lea rax, [rbp + 0x17]
mov qword [rbp + 0x27], rax
lea rax, [0x1400067d2]
mov qword [rbp + 0x2f], rax
movups xmm6, xmmword [rbp + 0x27]
mov ecx, 0x10
call fcn.140002000
movups xmmword [rax], xmm6
mov qword [rbp + 0x37], rax
lea rcx, [rbp + 0x2f]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], ebx
mov r9, rax
lea r8, [0x140001f40]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp + 0x27], rax
test rax, rax
je 0x14000188c
cmp dword [rbp + 0x2f], 0
je 0x140001880
call qword [sym.imp.MSVCP140.dll__Thrd_id]
cmp dword [rbp + 0x2f], eax
je 0x140001874
movaps xmm0, xmmword [rbp + 0x27]
movdqa xmmword [rbp - 9], xmm0
xor edx, edx
lea rcx, [rbp - 9]
call qword [sym.imp.MSVCP140.dll__Thrd_join]
test eax, eax
jne 0x140001868
xorps xmm0, xmm0
movaps xmmword [rbp + 7], xmm0
movdqa xmmword [rbp + 0x27], xmm0
lea rcx, [0x1400067e0]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
jne 0x140001874
cmp dword [0x14000682c], 0x7fffffff
je 0x140001852
movzx eax, byte [rbp + 0x17]
xchg byte [0x1400060b4], al
lea rcx, [0x1400067e0]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov ecx, 0x5a
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14000182f
lea rdx, str.Pressing_
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001c80
lea rdx, [0x140001e50]
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]
movzx eax, byte [0x1400060b4]
test al, al
jne 0x14000182f
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.USER32.dll_mouse_event]
mov qword [rbp - 0x59], 1
lea rcx, [rbp - 0x59]
call fcn.140001110
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 4]
call qword [sym.imp.USER32.dll_mouse_event]
lea rdx, str.Clicked_
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001c80
lea rdx, [0x140001e50]
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 qword [rbp - 0x51], 1
lea rcx, [rbp - 0x51]
call fcn.140001110
xor r9d, r9d
lea r8d, [r9 + 1]
mov dl, 0x45
mov cl, 0x50
call qword [sym.imp.USER32.dll_keybd_event]
mov qword [rbp - 0x49], 1
lea rcx, [rbp - 0x49]
call fcn.140001110
xor r9d, r9d
lea r8d, [r9 + 3]
mov dl, 0x45
mov cl, 0x50
call qword [sym.imp.USER32.dll_keybd_event]
mov qword [rbp - 0x41], 1
lea rcx, [rbp - 0x41]
call fcn.140001110
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.USER32.dll_mouse_event]
mov qword [rbp - 0x39], 1
lea rcx, [rbp - 0x39]
call fcn.140001110
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 4]
call qword [sym.imp.USER32.dll_mouse_event]
mov qword [rbp - 0x31], 1
lea rcx, [rbp - 0x31]
call fcn.140001110
xor r9d, r9d
lea r8d, [r9 + 1]
mov dl, 0x45
movzx ecx, dl
call qword [sym.imp.USER32.dll_keybd_event]
mov qword [rbp - 0x29], 1
lea rcx, [rbp - 0x29]
call fcn.140001110
xor r9d, r9d
lea r8d, [r9 + 3]
mov dl, 0x45
movzx ecx, dl
call qword [sym.imp.USER32.dll_keybd_event]
mov qword [rbp - 0x21], 0xc8
lea rcx, [rbp - 0x21]
call fcn.140001110
mov qword [rbp - 0x19], 1
lea rcx, [rbp - 0x19]
call fcn.140001110
nop
cmp dword [rbp + 0x2f], 0
je 0x1400015e4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
nop
mov dword [0x14000682c], 0x7ffffffe
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov ecx, 2
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rbp + 0x2f], ebx
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3