Function at 0x140002420
Capabilities:
Execute command
Set console window title

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xd0
mov rax, qword [0x14000b040]
xor rax, rsp
mov qword [rbp + 0x3f], rax
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [rbp - 0x69], 0x190032
mov edx, dword [rbp - 0x69]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleScreenBufferSize]
xorps xmm0, xmm0
movups xmmword [rbp - 0x61], xmm0
xor r14d, r14d
mov qword [rbp - 0x51], r14
mov qword [rbp - 0x49], 0xf
lea ecx, [r14 + 0x20]
call fcn.140004b50
mov rdx, rax
mov qword [rbp - 0x61], rax
mov qword [rbp - 0x51], 0x12
mov qword [rbp - 0x49], 0x1f
movups xmm0, xmmword [str.Windows_Protection]
movups xmmword [rax], xmm0
movzx eax, word [0x1400077a8]
mov word [rdx + 0x10], ax
mov byte [rdx + 0x12], r14b
lea r8, [rdx + 0x12]
lea rcx, [rbp + 0x1f]
call fcn.140004030
lea rcx, [rbp + 0x1f]
cmp qword [rbp + 0x37], 7
cmova rcx, qword [rbp + 0x1f]
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
mov rdx, qword [rbp + 0x37]
cmp rdx, 7
jbe 0x140002520
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1f]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000251a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000251a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140004b8c
nop
mov rdx, qword [rbp - 0x49]
cmp rdx, 0xf
jbe 0x14000255e
inc rdx
mov rcx, qword [rbp - 0x61]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002559
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002559
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140004b8c
xorps xmm0, xmm0
movups xmmword [rbp - 1], xmm0
mov qword [rbp + 0xf], r14
mov qword [rbp + 0x17], 0xf
mov ecx, 0x20
call fcn.140004b50
mov qword [rbp - 1], rax
mov qword [rbp + 0xf], 0x1d
mov qword [rbp + 0x17], 0x1f
movups xmm0, xmmword [str.C:Windows_Protectupdate.exe]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x140007748]
movsd qword [rax + 0x10], xmm0
mov ecx, dword [0x140007750]
mov dword [rax + 0x18], ecx
movzx ecx, byte [0x140007754]
mov byte [rax + 0x1c], cl
mov byte [rax + 0x1d], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x41], xmm0
mov qword [rbp - 0x31], r14
mov qword [rbp - 0x29], 0xf
mov byte [rbp - 0x41], 0
mov r15d, 9
nop word [rax + rax]
lea rcx, [0x14000770c]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, r15w
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, str._n________________________________________________n__________________________________________________________________________________n_________________________________._______________________________._____n________________.___.______________.______.___________.____n______________________________________________._____________________________n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003e20
mov rcx, rax
lea rdx, [0x140003ff0]
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 ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, r15w
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, str._______1__PC_OPTIMIZER______2__WINDOWS_PROTECT___3__WINDOWS_UPDATE__4__EXIT_n_n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003e20
mov rcx, rax
lea rdx, [0x140003ff0]
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 rdx, str._______CHOOSE_AN_OPTION_:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003e20
xorps xmm0, xmm0
movups xmmword [rbp - 0x21], xmm0
mov qword [rbp - 0x11], r14
mov qword [rbp - 9], 0xf
mov byte [rbp - 0x21], 0
lea rdx, [rbp - 0x21]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.140004180
lea rax, [rbp - 0x21]
mov rsi, qword [rbp - 9]
cmp rsi, 0xf
seta dl
mov rdi, qword [rbp - 0x21]
cmova rax, rdi
mov rcx, qword [rbp - 0x11]
cmp rcx, 1
jne 0x1400026df
cmp byte [rax], 0x31
jne 0x1400026c8
mov eax, r14d
jmp 0x1400026cd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400026df
lea rcx, [rbp - 1]
call fcn.140001cc0
jmp 0x140002884
lea rax, [rbp - 0x21]
test dl, dl
cmovne rax, rdi
cmp rcx, 1
jne 0x1400027cc
cmp byte [rax], 0x32
jne 0x1400026fd
mov eax, r14d
jmp 0x140002702
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400027cc
lea rcx, [rbp + 0x1f]
call fcn.140001e00
mov rbx, rax
lea rax, [rbp - 0x41]
cmp rax, rbx
je 0x140002788
mov rdx, qword [rbp - 0x29]
cmp rdx, 0xf
jbe 0x14000275a
inc rdx
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002755
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400028c4
call fcn.140004b8c
mov qword [rbp - 0x31], r14
mov qword [rbp - 0x29], 0xf
mov byte [rbp - 0x41], 0
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x41], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x31], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rdx, qword [rbp + 0x37]
cmp rdx, 0xf
jbe 0x140002884
inc rdx
mov rcx, qword [rbp + 0x1f]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400027c2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400028c4
call fcn.140004b8c
jmp 0x140002884
lea rax, [rbp - 0x21]
test dl, dl
cmovne rax, rdi
cmp rcx, 1
jne 0x140002809
cmp byte [rax], 0x33
jne 0x1400027e6
mov eax, r14d
jmp 0x1400027eb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140002809
cmp qword [rbp - 0x31], 0
je 0x140002884
lea rdx, [rbp - 1]
lea rcx, [rbp - 0x41]
call fcn.140001b50
jmp 0x140002884
lea rax, [rbp - 0x21]
test dl, dl
cmovne rax, rdi
cmp rcx, 1
jne 0x140002830
cmp byte [rax], 0x35
jne 0x140002823
mov eax, r14d
jmp 0x140002828
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400028cb
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, r15w
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, str.Invalid_choice._Please_enter_1__2__3__or_4.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003e20
mov rcx, rax
lea rdx, [0x140003ff0]
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 ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, r15w
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
nop
cmp rsi, 0xf
jbe 0x1400025e0
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1400028b7
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002a0e
mov rcx, rdi
call fcn.140004b8c
jmp 0x1400025e0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, r15w
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, str.Exiting_the_program._Goodbye_
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003e20
mov rcx, rax
lea rdx, [0x140003ff0]
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 ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, r15w
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
nop
cmp rsi, 0xf
jbe 0x140002957
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14000294e
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002a0e
mov rcx, rdi
call fcn.140004b8c
nop
mov rdx, qword [rbp - 0x29]
cmp rdx, 0xf
jbe 0x140002995
inc rdx
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002990
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002990
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140004b8c
mov qword [rbp - 0x31], r14
mov qword [rbp - 0x29], 0xf
mov byte [rbp - 0x41], 0
mov rdx, qword [rbp + 0x17]
cmp rdx, 0xf
jbe 0x1400029e3
inc rdx
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400029de
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400029de
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140004b8c
xor eax, eax
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.140004b30
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
int3