Function at 0x140001f6b
Capabilities:
Execute command
Log keystrokes via polling

Disassembly:
push rbp
push rdi
push rsi
push rbx
mov eax, 0x15a8
call fcn.14000f5b0
sub rsp, rax
lea rbp, [rsp + 0x80]
mov byte [rbp + 0x1507], 1
mov dword [rbp + 0x13d0], 0x28
mov dword [rbp + 0x13d4], 0x25
mov dword [rbp + 0x13d8], 0x26
mov dword [rbp + 0x13dc], 0x28
lea rsi, [rbp + 0x1350]
mov ebx, 3
mov rcx, rsi
lea rax, [rbp + 0x13ef]
mov qword [rbp + 0x14f8], rax
nop
nop
lea rax, [rbp + 0x13ef]
mov r8, rax
lea rax, [0x1400d71e4]
mov rdx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string<std::allocator<wchar_t> >(wchar_t const*, std::allocator<wchar_t> const&)
lea rdi, [rsi + 0x20]
sub rbx, 1
lea rax, [rbp + 0x13ef]
mov r8, rax
lea rax, [0x1400d71e8]
mov rdx, rax
mov rcx, rdi
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string<std::allocator<wchar_t> >(wchar_t const*, std::allocator<wchar_t> const&)
add rdi, 0x20
sub rbx, 1
lea rax, [rbp + 0x13ef]
mov r8, rax
lea rax, [0x1400d71ec]
mov rdx, rax
mov rcx, rdi
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string<std::allocator<wchar_t> >(wchar_t const*, std::allocator<wchar_t> const&)
lea rax, [rdi + 0x20]
sub rbx, 1
lea rdx, [rbp + 0x13ef]
mov r8, rdx
lea rdx, [0x1400d71e4]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string<std::allocator<wchar_t> >(wchar_t const*, std::allocator<wchar_t> const&)
lea rax, [rbp + 0x13ef]
mov rcx, rax
call dbg.std::__new_allocator<wchar_t>::~__new_allocator()
nop
mov byte [rbp + 0x151f], 0
mov dword [rbp + 0x1500], 0x7d0
call dbg.timeSinceEpochMillisec()
mov qword [rbp + 0x1510], rax
lea rax, [rbp + 0x980]
mov rcx, rax
call dbg.std::random_device::random_device()
lea rax, [rbp + 0x980]
mov rcx, rax
call dbg.std::random_device::operator()()
mov edx, eax
lea rax, [rbp - 0x50]
mov rcx, rax
call dbg.std::mersenne_twister_engine<unsigned int, 32ull, 624ull, 397ull, 31ull, 2567483615u, 11ull, 4294967295u, 7ull, 2636928640u, 15ull, 4022730752u, 18ull, 1812433253u>::mersenne_twister_engine(unsigned int)
lea rax, [rbp - 0x58]
mov r8d, 1
mov edx, 0xffffffff
mov rcx, rax
call dbg.std::uniform_int_distribution<int>::uniform_int_distribution(int, int)
jmp 0x140002415
lea rax, [0x1400d71e0]
mov rcx, rax
call sym.system
lea rax, [rbp + 0x141f]
mov qword [rbp + 0x14f0], rax
nop
nop
lea rdx, [rbp + 0x141f]
lea rax, [rbp + 0x13f0]
mov r8, rdx
lea rdx, [0x1400d71f0]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string<std::allocator<wchar_t> >(wchar_t const*, std::allocator<wchar_t> const&)
lea rax, [rbp + 0x13f0]
mov r8d, 3
mov edx, 0xa
mov rcx, rax
call dbg.printAt(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, short, short)
lea rax, [rbp + 0x13f0]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string__
lea rax, [rbp + 0x141f]
mov rcx, rax
call dbg.std::__new_allocator<wchar_t>::~__new_allocator()
nop
movzx eax, byte [rbp + 0x151f]
mov r8d, 3
mov edx, 0x28
mov ecx, eax
call dbg.printAt(int, short, short)
lea rax, [rbp + 0x144f]
mov qword [rbp + 0x14e8], rax
nop
nop
lea rdx, [rbp + 0x144f]
lea rax, [rbp + 0x1420]
mov r8, rdx
lea rdx, [0x1400d7226]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string<std::allocator<wchar_t> >(wchar_t const*, std::allocator<wchar_t> const&)
lea rax, [rbp + 0x1420]
mov r8d, 3
mov edx, 0x2a
mov rcx, rax
call dbg.printAt(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, short, short)
lea rax, [rbp + 0x1420]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string__
lea rax, [rbp + 0x144f]
mov rcx, rax
call dbg.std::__new_allocator<wchar_t>::~__new_allocator()
nop
mov eax, 4
mov r8d, 3
mov edx, 0x2c
mov ecx, eax
call dbg.printAt(int, short, short)
mov rax, qword [rbp + 0x1508]
mov ecx, eax
mov rax, qword [rbp + 0x1510]
mov edx, eax
mov eax, ecx
sub eax, edx
mov r8d, 5
mov edx, 0xa
mov ecx, eax
call dbg.printAt(int, short, short)
lea rax, [rbp + 0x147f]
mov qword [rbp + 0x14e0], rax
nop
nop
lea rdx, [rbp + 0x147f]
lea rax, [rbp + 0x1450]
mov r8, rdx
lea rdx, [0x1400d722a]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string<std::allocator<wchar_t> >(wchar_t const*, std::allocator<wchar_t> const&)
lea rax, [rbp + 0x1450]
mov r8d, 5
mov edx, 0x14
mov rcx, rax
call dbg.printAt(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, short, short)
lea rax, [rbp + 0x1450]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string__
lea rax, [rbp + 0x147f]
mov rcx, rax
call dbg.std::__new_allocator<wchar_t>::~__new_allocator()
nop
mov eax, dword [rbp + 0x1500]
mov r8d, 5
mov edx, 0x1e
mov ecx, eax
call dbg.printAt(int, short, short)
movzx eax, byte [rbp + 0x151f]
mov edx, 4
cmp rax, rdx
sete al
test al, al
je 0x14000230e
mov byte [rbp + 0x1507], 0
lea rax, [rbp + 0x14af]
mov qword [rbp + 0x14d8], rax
nop
nop
lea rdx, [rbp + 0x14af]
lea rax, [rbp + 0x1480]
mov r8, rdx
lea rdx, str.YOU_WIN_
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string<std::allocator<wchar_t> >(wchar_t const*, std::allocator<wchar_t> const&)
lea rax, [rbp + 0x1480]
mov r8d, 0x14
mov edx, 0x17
mov rcx, rax
call dbg.printAt(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, short, short)
lea rax, [rbp + 0x1480]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string__
lea rax, [rbp + 0x14af]
mov rcx, rax
call dbg.std::__new_allocator<wchar_t>::~__new_allocator()
nop
jmp 0x140002422
lea rdx, [rbp - 0x50]
lea rax, [rbp - 0x58]
mov rcx, rax
call fcn.1400b4540
add eax, 0x14
movsx esi, ax
lea rdx, [rbp - 0x50]
lea rax, [rbp - 0x58]
mov rcx, rax
call fcn.1400b4540
add eax, 0x1e
movsx ebx, ax
movzx edx, byte [rbp + 0x151f]
lea rax, [rbp + 0x1350]
movsxd rdx, edx
shl rdx, 5
add rdx, rax
lea rax, [rbp + 0x14b0]
mov rcx, rax
call method.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___.basic_string_std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const_
lea rax, [rbp + 0x14b0]
mov r8d, esi
mov edx, ebx
mov rcx, rax
call dbg.printAt(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, short, short)
lea rax, [rbp + 0x14b0]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string__
call dbg.timeSinceEpochMillisec()
mov qword [rbp + 0x1508], rax
mov rax, qword [rbp + 0x1508]
sub rax, qword [rbp + 0x1510]
mov rdx, rax
mov eax, dword [rbp + 0x1500]
cdqe
cmp rdx, rax
jae 0x1400023f4
movzx eax, byte [rbp + 0x151f]
cdqe
mov eax, dword [rbp + rax*4 + 0x13d0]
mov ecx, eax
mov rax, qword [sym.imp.USER32.dll_GetAsyncKeyState]
call rax
cwde
and eax, 1
test eax, eax
setne al
test al, al
je 0x140002407
movzx eax, byte [rbp + 0x151f]
add eax, 1
mov byte [rbp + 0x151f], al
call dbg.timeSinceEpochMillisec()
mov qword [rbp + 0x1510], rax
jmp 0x140002407
call dbg.timeSinceEpochMillisec()
mov qword [rbp + 0x1510], rax
mov byte [rbp + 0x151f], 0
mov ecx, 0x14
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
cmp byte [rbp + 0x1507], 0
jne 0x1400020c9
mov ecx, 0xfffffff6
mov rax, qword [sym.imp.KERNEL32.dll_GetStdHandle]
call rax
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FlushConsoleInputBuffer]
call rax
nop
call sym.getch
cmp eax, 0x20
setne al
test al, al
jne 0x14000243d
lea rax, [rbp + 0x980]
mov rcx, rax
call dbg.std::random_device::~random_device()
lea rbx, [rbp + 0x1350]
sub rbx, 0xffffffffffffff80
lea rax, [rbp + 0x1350]
cmp rbx, rax
je 0x140002480
sub rbx, 0x20
mov rcx, rbx
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string__
jmp 0x140002466
nop
jmp 0x1400025d3
add rsp, 0x15a8
pop rbx
pop rsi
pop rdi
pop rbp
ret