Function at 0x1400115cd
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x140016720
push rbp
push rdi
sub rsp, 0x1b8
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x32
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x140025018]
xor rax, rbp
mov qword [rbp + 0x178], rax
lea rcx, [0x14002b0f4]
call fcn.14001162c
mov byte [rbp + 4], 0
mov byte [rbp + 0x24], 0
lea rdx, str.e_34m
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110aa
lea rdx, [0x140020f80]
mov rcx, rax
call fcn.1400110aa
lea rdx, [rbp + 0x44]
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.140011181
movsx eax, byte [rbp + 0x44]
mov ecx, eax
call qword [sym.imp.ucrtbased.dll_toupper]
mov byte [rbp + 0x44], al
lea rdx, str.e_33m
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110aa
lea rdx, str.Sol_t
mov rcx, rax
call fcn.1400110aa
lea rdx, [rbp + 0x84]
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___int____ptr64____ptr64]
lea rdx, str.e_34m
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110aa
lea rdx, [0x140021688]
mov rcx, rax
call fcn.1400110aa
lea rdx, [rbp + 0x64]
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.140011181
movsx eax, byte [rbp + 0x64]
mov ecx, eax
call qword [sym.imp.ucrtbased.dll_toupper]
mov byte [rbp + 0x64], al
lea rdx, str.e_33m
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110aa
lea rdx, [0x1400216b8]
mov rcx, rax
call fcn.1400110aa
lea rdx, [rbp + 0xa4]
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___int____ptr64____ptr64]
lea rdx, str.e_32m
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110aa
lea rdx, str.AUTOCLICKER_BA
mov rcx, rax
call fcn.1400110aa
xor eax, eax
cmp eax, 1
je 0x1400169c3
movsx eax, byte [rbp + 0x44]
mov ecx, eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1400168be
movzx eax, byte [rbp + 4]
test eax, eax
jne 0x1400168aa
mov dword [rbp + 0x174], 1
jmp 0x1400168b4
mov dword [rbp + 0x174], 0
movzx eax, byte [rbp + 0x174]
mov byte [rbp + 4], al
movzx eax, byte [rbp + 4]
test eax, eax
je 0x14001690a
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 2
call qword [sym.imp.USER32.dll_mouse_event]
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 4
call qword [sym.imp.USER32.dll_mouse_event]
mov ecx, dword [rbp + 0x84]
call qword [sym.imp.KERNEL32.dll_Sleep]
movsx eax, byte [rbp + 0x44]
mov ecx, eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
jne 0x14001691f
mov byte [rbp + 4], 0
movsx eax, byte [rbp + 0x64]
mov ecx, eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x14001695d
movzx eax, byte [rbp + 0x24]
test eax, eax
jne 0x140016949
mov dword [rbp + 0x174], 1
jmp 0x140016953
mov dword [rbp + 0x174], 0
movzx eax, byte [rbp + 0x174]
mov byte [rbp + 0x24], al
movzx eax, byte [rbp + 0x24]
test eax, eax
je 0x1400169a9
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 8
call qword [sym.imp.USER32.dll_mouse_event]
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0x10
call qword [sym.imp.USER32.dll_mouse_event]
mov ecx, dword [rbp + 0xa4]
call qword [sym.imp.KERNEL32.dll_Sleep]
movsx eax, byte [rbp + 0x64]
mov ecx, eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
jne 0x1400169be
mov byte [rbp + 0x24], 0
jmp 0x140016875
lea rcx, [rbp - 0x30]
lea rdx, [0x140020f70]
call fcn.14001153c
mov rcx, qword [rbp + 0x178]
xor rcx, rbp
call fcn.14001130c
lea rsp, [rbp + 0x188]
pop rdi
pop rbp
ret