Function at 0x140001000
Capabilities:
Execute command
Log keystrokes via polling
Set console window title

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0xe0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov ecx, 0xfffffff5
mov dword [rsp + 0x30], 0x36565133
mov word [rsp + 0x34], 0x3837
mov byte [rsp + 0x36], 0x39
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
xorps xmm0, xmm0
mov qword [0x140005668], rax
xor r14d, r14d
lea rdi, str.abcdefghi9182345jklmnopqrstuv211935960473wxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
xor eax, eax
mov sil, 1
mov dword [rsp + 0xc0], eax
mov ebp, r14d
mov word [rsp + 0xc4], ax
mov ebx, r14d
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0xa0], xmm0
movups xmmword [rsp + 0xb0], xmm0
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
shl ecx, 4
sub r8d, ecx
movsxd rax, r8d
movzx ecx, word [rdi + rax*2]
add word [rsp + rbx*2 + 0x40], cx
inc rbx
cmp rbx, 0x42
jne 0x1400010b0
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
lea rcx, [0x1400033b4]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.AutoSoup_v0.2_by_disappointeddkid_n_n_nState:
call fcn.140001320
mov rcx, qword [0x140005668]
lea edx, [rbx - 0x40]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Enabled
call fcn.140001320
mov rcx, rax
lea rdx, [0x1400014f0]
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 rcx, qword [0x140005668]
lea edx, [rbx - 0x33]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov rdi, r14
nop word [rax + rax]
mov ecx, 0x23
movzx ebx, sil
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14000122b
test sil, sil
lea rcx, [0x1400033b4]
sete sil
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.AutoSoup_v0.2_by_disappointeddkid_n_n_nState:
call fcn.140001320
mov rcx, qword [0x140005668]
test bl, bl
jne 0x1400011be
mov edx, 2
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, str.Enabled
jmp 0x1400011d0
mov edx, 4
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, str.Disabled
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001320
lea rdx, [0x1400014f0]
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 rcx, qword [0x140005668]
mov edx, 0xf
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov ecx, 0x23
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000122b
nop
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x23
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x140001210
mov ecx, 0x52
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400012d5
cmp sil, 1
jne 0x1400012d5
xor r9d, r9d
xor edx, edx
mov cl, 0x52
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_keybd_event]
movzx ebx, byte [rsp + rdi + 0x30]
xor r9d, r9d
movzx ecx, bl
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_keybd_event]
xor edx, edx
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 0x18]
call qword [sym.imp.USER32.dll_mouse_event]
xor r9d, r9d
xor edx, edx
movzx ecx, bl
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov cl, 0x31
call qword [sym.imp.USER32.dll_keybd_event]
xor r9d, r9d
xor edx, edx
mov cl, 0x31
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_keybd_event]
inc ebp
inc rdi
cmp rdi, 7
jne 0x1400012d5
mov ebp, r14d
mov rdi, r14
mov ecx, 0x45
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x54
movzx ebx, ax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test bx, bx
mov ecx, r14d
cmove ecx, ebp
test ax, ax
mov ebp, r14d
cmove ebp, ecx
test bx, bx
mov rcx, r14
cmove rcx, rdi
test ax, ax
mov rdi, r14
cmove rdi, rcx
jmp 0x140001160