Function at 0x140002a40
Capabilities:
Execute command
Get token membership
Set console window title

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x288]
sub rsp, 0x360
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x1400dd040]
xor rax, rsp
mov qword [rbp + 0x230], rax
xor r15d, r15d
mov dword [rbp - 0x60], r15d
mov dword [rbp - 0x38], r15d
mov dword [rbp - 0x40], r15d
mov word [rbp - 0x3c], 0x500
lea rax, [rbp - 0x50]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
mov r9d, 0x220
lea r8d, [r15 + 0x20]
mov dl, 2
lea rcx, [rbp - 0x40]
call qword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
je 0x140002aef
lea r8, [rbp - 0x38]
mov rdx, qword [rbp - 0x50]
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.ADVAPI32.dll_FreeSid]
cmp dword [rbp - 0x38], r15d
jne 0x140002b22
lea rdx, str.Error:_Administrator_privileges_required_to_run_this_program.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003690
lea rdx, [0x140003860]
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 eax, 1
jmp 0x140003098
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [rbp - 0x30], r15d
mov dword [rbp - 0x2c], 0x18004f
lea r8, [rbp - 0x30]
mov edx, 1
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleWindowInfo]
lea rcx, str.Ken_Carson
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov dword [rsp + 0x30], 0x63
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
lea rdx, [r9 - 1]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetWindowPos]
mov dword [rsp + 0x30], 0x63
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
lea rdx, [r9 - 1]
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.USER32.dll_SetWindowPos]
mov dword [rbp - 0x40], r15d
mov dword [rbp - 0x3c], 0x13004f
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_SetConsoleWindowInfo]
xor r8d, r8d
lea edx, [r8 + 7]
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.USER32.dll_ShowScrollBar]
lea rcx, str.color_B
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rcx, str.Horizon
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov dword [rsp + 0x30], 3
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
lea rdx, [r9 - 1]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetWindowPos]
mov r8d, 0x104
lea rdx, [rbp + 0x120]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], r15
lea rax, [rbp + 0x120]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], r15b
jne 0x140002c50
lea rdx, [rbp + 0x120]
lea rcx, [rbp - 0x28]
call fcn.140003bc0
nop
lea rbx, [rbp - 0x28]
mov rsi, qword [rbp - 0x28]
mov r14, qword [rbp - 0x10]
cmp r14, 0xf
cmova rbx, rsi
mov rdi, qword [rbp - 0x18]
test rdi, rdi
je 0x140002cf8
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x20]
call sub.VCRUNTIME140.dll_memset
lea rcx, [0x1400b7068]
lea rdx, [0x1400b706a]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rbp + rax + 0x20], 1
inc rcx
cmp rcx, rdx
jne 0x140002cb0
lea rax, [rdi - 1]
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
add r8, rbx
movzx eax, byte [r8]
cmp byte [rbp + rax + 0x20], 0
jne 0x140002cf3
cmp r8, rbx
je 0x140002cf8
dec r8
movzx eax, byte [r8]
cmp byte [rbp + rax + 0x20], 0
je 0x140002ce0
sub r8, rbx
jmp 0x140002cff
mov r8, 0xffffffffffffffff
xorps xmm0, xmm0
xorps xmm1, xmm1
cmp r8, 0xffffffffffffffff
je 0x140002d49
movups xmmword [rsp + 0x60], xmm0
movdqu xmmword [rsp + 0x70], xmm1
cmp rdi, r8
cmovb r8, rdi
lea rdx, [rbp - 0x28]
cmp r14, 0xf
cmova rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.140003bc0
lea rax, [rsp + 0x60]
mov edi, 0x21
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x78]
jmp 0x140002d76
movups xmmword [rbp - 0x80], xmm0
movdqu xmmword [rbp - 0x70], xmm1
xor r8d, r8d
lea rdx, [0x1400b6fdf]
lea rcx, [rbp - 0x80]
call fcn.140003bc0
lea rax, [rbp - 0x80]
mov edi, 2
lea rcx, [rbp - 0x70]
lea rdx, [rbp - 0x68]
movups xmm7, xmmword [rax]
movups xmmword [rbp - 8], xmm7
movups xmm6, xmmword [rax + 0x10]
movups xmmword [rbp + 8], xmm6
mov qword [rcx], r15
mov ebx, 0xf
mov qword [rdx], rbx
mov byte [rax], 0
test dil, 2
je 0x140002dda
and edi, 0xfffffffd
mov rdx, qword [rbp - 0x68]
cmp rdx, rbx
jbe 0x140002dda
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002dd4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002dd4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140093df4
nop
test dil, 1
je 0x140002e20
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x140002e20
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002e1b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002e1b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140093df4
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
movq r14, xmm6
sub rax, r14
cmp rax, 8
jb 0x1400030ed
lea r12, [rbp - 8]
movq rsi, xmm7
psrldq xmm6, 8
movq r13, xmm6
cmp r13, 0xf
cmova r12, rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
lea r15, [r14 + 8]
lea rdi, [rsp + 0x60]
cmp r15, 0xf
jbe 0x140002ef4
mov rbx, r15
or rbx, 0xf
cmp rbx, rcx
jbe 0x140002eb6
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140093db0
test rax, rax
je 0x140002ffe
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140002eef
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140002ede
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400030e7
jmp 0x140002e97
test rcx, rcx
je 0x140002eed
call fcn.140093db0
mov rdi, rax
jmp 0x140002eef
xor edi, edi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], rbx
mov r8, r14
mov rdx, r12
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
movabs rax, 0x736769666e6f635c
mov qword [r14 + rdi], rax
mov byte [rdi + r15], 0
mov rdi, qword [rsp + 0x70]
lea rbx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova rbx, qword [rsp + 0x60]
call fcn.140093158
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x48], rdi
lea r8, [rbp - 0x50]
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.140002040
nop
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 7
cmova rcx, qword [rbp - 0x80]
call fcn.1400933b8
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x1400030d2
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x140002fb7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002fb2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002fb2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140093df4
movdqa xmm0, xmmword [0x1400cb1c0]
movdqu xmmword [rbp - 0x70], xmm0
xor eax, eax
mov word [rbp - 0x80], ax
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x14000300a
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003005
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003005
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140093df4
call fcn.14000c230
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]
nop
cmp r13, 0xf
jbe 0x140003058
lea rdx, [r13 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14000304f
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000304f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.140093df4
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x140003096
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003091
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003091
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140093df4
xor eax, eax
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.140093d90
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
shr rdx, 0x20
lea r8, [rbp - 0x80]
lea rcx, str.create_directory
call fcn.140002980
nop
call fcn.140001900
int3
call fcn.1400019a0
int3