Function at 0x140002990
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 [0x1400d9040]
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 0x140002a3f
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 0x140002a72
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.1400035e0
lea rdx, [0x1400037b0]
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 0x140002fe8
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 0x140002ba0
lea rdx, [rbp + 0x120]
lea rcx, [rbp - 0x28]
call fcn.140003ab0
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 0x140002c48
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x20]
call sub.VCRUNTIME140.dll_memset
lea rcx, [0x1400b3068]
lea rdx, [0x1400b306a]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rbp + rax + 0x20], 1
inc rcx
cmp rcx, rdx
jne 0x140002c00
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 0x140002c43
cmp r8, rbx
je 0x140002c48
dec r8
movzx eax, byte [r8]
cmp byte [rbp + rax + 0x20], 0
je 0x140002c30
sub r8, rbx
jmp 0x140002c4f
mov r8, 0xffffffffffffffff
xorps xmm0, xmm0
xorps xmm1, xmm1
cmp r8, 0xffffffffffffffff
je 0x140002c99
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.140003ab0
lea rax, [rsp + 0x60]
mov edi, 0x21
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x78]
jmp 0x140002cc6
movups xmmword [rbp - 0x80], xmm0
movdqu xmmword [rbp - 0x70], xmm1
xor r8d, r8d
lea rdx, [0x1400b2fdf]
lea rcx, [rbp - 0x80]
call fcn.140003ab0
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 0x140002d2a
and edi, 0xfffffffd
mov rdx, qword [rbp - 0x68]
cmp rdx, rbx
jbe 0x140002d2a
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002d24
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002d24
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140090344
nop
test dil, 1
je 0x140002d70
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x140002d70
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002d6b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002d6b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140090344
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
movq r14, xmm6
sub rax, r14
cmp rax, 8
jb 0x14000303d
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 0x140002e44
mov rbx, r15
or rbx, 0xf
cmp rbx, rcx
jbe 0x140002e06
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140090300
test rax, rax
je 0x140002f4e
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140002e3f
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140002e2e
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140003037
jmp 0x140002de7
test rcx, rcx
je 0x140002e3d
call fcn.140090300
mov rdi, rax
jmp 0x140002e3f
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.14008f6a8
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x48], rdi
lea r8, [rbp - 0x50]
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.140001fe0
nop
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 7
cmova rcx, qword [rbp - 0x80]
call fcn.14008f908
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x140003022
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x140002f07
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002f02
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002f02
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140090344
movdqa xmm0, xmmword [0x1400c7130]
movdqu xmmword [rbp - 0x70], xmm0
xor eax, eax
mov word [rbp - 0x80], ax
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x140002f5a
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002f55
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002f55
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140090344
call fcn.14000c1d0
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 0x140002fa8
lea rdx, [r13 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140002f9f
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002f9f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.140090344
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x140002fe6
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002fe1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002fe1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140090344
xor eax, eax
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.1400902e0
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.140002920
nop
call fcn.1400018a0
int3
call fcn.140001940
int3