Function at 0x140003570
Capabilities:
Accept command line arguments

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1460]
mov eax, 0x1580
call fcn.140025620
sub rsp, rax
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x15b0], rbx
mov qword [rsp + 0x15b8], rsi
mov qword [rsp + 0x15c0], rdi
mov rax, qword [0x140068620]
xor rax, rsp
mov qword [rbp + 0x1450], rax
lea rcx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_GetStartupInfoW]
xor r15d, r15d
mov dword [rbp - 0x80], r15d
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rcx, rax
lea rdx, [rbp - 0x80]
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov rbx, rax
test rax, rax
jne 0x1400035f4
lea eax, [rbx + 1]
jmp 0x14000446c
mov r14d, 1
mov edi, r14d
mov dword [rbp - 0x7c], r15d
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0xa30]
call fcn.14002a810
xor edx, edx
lea r8d, [r14 + 0x7f]
lea rcx, [rbp + 0x3b0]
call fcn.14002a810
mov esi, r14d
cmp dword [rbp - 0x80], r14d
jle 0x14000437f
add rbx, 8
mov qword [rbp - 0x50], rbx
nop dword [rax]
mov r8d, 5
lea rdx, str._pwd:
mov rcx, qword [rbx]
call fcn.1400316b4
test eax, eax
jne 0x140003685
lea edx, [rax + 0x3a]
mov rcx, qword [rbx]
call fcn.14002a0b8
test rax, rax
je 0x140003682
lea r8, [rax + 2]
mov edx, 0x40
lea r9d, [rdx - 0x20]
lea rcx, [rbp + 0x3b0]
call fcn.140030c18
mov edi, r15d
mov r8d, 6
lea rdx, str._data:
mov rcx, qword [rbx]
call fcn.1400316b4
mov rcx, qword [rbx]
test eax, eax
jne 0x1400036cf
lea edx, [rax + 0x3a]
call fcn.14002a0b8
test rax, rax
je 0x140003788
lea r8, [rax + 2]
mov edx, 0x80
mov r9d, edx
lea rcx, [rbp + 0xa30]
call fcn.140030c18
jmp 0x140003788
lea rdx, str._list
call fcn.140030cfc
test eax, eax
je 0x140003788
mov r8d, 7
lea rdx, str._enter:
mov rcx, qword [rbx]
call fcn.1400316b4
test eax, eax
je 0x140003788
mov r8d, 6
lea rdx, str._exit:
mov rcx, qword [rbx]
call fcn.1400316b4
test eax, eax
je 0x140003788
mov r8d, 6
lea rdx, str._xpwd:
mov rcx, qword [rbx]
call fcn.1400316b4
test eax, eax
je 0x140003788
mov r8d, 8
lea rdx, str._commit:
mov rcx, qword [rbx]
call fcn.1400316b4
test eax, eax
je 0x140003788
lea rdx, str._reboot
mov rcx, qword [rbx]
call fcn.140030cfc
test eax, eax
je 0x140003788
lea rdx, str._shutdown
mov rcx, qword [rbx]
call fcn.140030cfc
test eax, eax
je 0x140003788
lea rdx, str._now
mov rcx, qword [rbx]
call fcn.140030cfc
test eax, eax
jne 0x14000378b
mov dword [rbp - 0x7c], r14d
mov edi, r15d
inc esi
add rbx, 8
cmp esi, dword [rbp - 0x80]
jl 0x140003640
test edi, edi
jne 0x14000437f
jmp 0x1400ad868
mov r8d, 0x104
lea rdx, [rbp + 0x1030]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [rbp + 0x1030]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea rdx, str.CmdTool.txt
lea rcx, [rbp + 0x1030]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea rcx, [rbp - 0x28]
call fcn.140006ce4
nop
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x1030]
lea rcx, [rbp - 0x28]
call fcn.140007130
test eax, eax
je 0x140004461
call fcn.140006b4c
mov rcx, rax
test rax, rax
jne 0x1400043f5
mov ecx, 0x80004005
call fcn.140003460
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x70], rax
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x28]
call fcn.140007300
test eax, eax
je 0x140004440
mov rcx, qword [rbp - 0x70]
cmp dword [rcx - 0x10], 0
je 0x140004423
call fcn.1400059e0
lea rcx, [0x14004c460]
call fcn.1400059e0
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x28]
call fcn.140007300
test eax, eax
jne 0x140004414
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
or rax, 0xffffffffffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140004461
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
nop
lea rcx, [rbp - 0x28]
call fcn.140006d74
mov eax, edi
mov rcx, qword [rbp + 0x1450]
xor rcx, rsp
call fcn.140025540
lea r11, [rsp + 0x1580]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret