Function at 0x14001ae70
Capabilities:
Print debug messages

Disassembly:
push r15
xor eax, eax
mov ecx, 0x1a
mov r15d, r9d
push r14
xor r14d, r14d
push r13
push r12
push rbp
push rdi
push rsi
mov rsi, r8
push rbx
sub rsp, 0x4f8
lea rdi, [rsp + 0x78]
mov qword [rsp + 0x548], rdx
mov rbp, qword [rsp + 0x560]
rep stosd dword [rdi], eax
mov ecx, 0x59
mov qword [rsp + 0x70], 0
mov r12, qword [rsp + 0x570]
mov dword [rsp + 0x78], 0x68
mov dword [rsp + 0xb4], 0x101
call sym.PackageCreate
mov edx, 0x15
mov rcx, rax
mov qword [rsp + 0x60], rax
call sym.PackageAddInt32
lea rax, [rsp + 0x78]
cmp dword [rsp + 0x568], 0
mov rbx, qword [0x14002d650]
mov qword [rsp + 0x68], rax
je 0x14001af6f
lea r9, str.Piped_enabled
mov r8d, 0x25e
lea rdx, str.ProcessCreate
lea rcx, [0x14002b990]
call sym.printf.constprop.0_1
mov rax, qword [rbx]
mov edx, 0x10
mov ecx, 0x40
call qword [rax + 0x3a8]
mov ecx, 0x10
mov r14, rax
mov rdi, rax
xor eax, eax
rep stosb byte [rdi], al
mov rcx, r14
call sym.AnonPipesInit
mov rax, qword [r14 + 8]
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xd0], rax
test r12, r12
je 0x14001afb5
lea r9, str.Using_specified_anon_pipes
mov r8d, 0x269
lea rdx, str.ProcessCreate
lea rcx, [0x14002b990]
call sym.printf.constprop.0_1
mov rax, qword [r12 + 8]
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xd0], rax
mov rax, qword [rbx]
mov r12d, dword [rax + 0x8fe]
test r12d, r12d
je 0x14001b2a6
lea r10, [0x14002b990]
lea r12, str.ProcessCreate
mov r8d, 0x281
mov r13d, 0x104
mov rcx, r10
lea r9, str.Impersonate
mov rdx, r12
call sym.printf.constprop.0_1
lea rdi, [rsp + 0xe0]
xor eax, eax
mov rcx, r13
rep stosd dword [rdi], eax
mov rax, qword [rbx]
lea rdi, [rsp + 0xe0]
mov rdx, rdi
mov r13, rcx
mov ecx, 0x208
call qword [rax + 0x3e8]
test eax, eax
cmovne r13, rdi
xor ecx, ecx
call sym.TokenImpersonate
mov ecx, 1
call sym.TokenSetSeImpersonatePriv
mov r9, rsi
mov rdx, r12
mov r8d, 0x28e
lea rcx, str._DEBUG::_s::_d__CmdLine___________:__ls_n
call sym.DbgPrint
lea rcx, str._DEBUG::_s::_d__lpCurrentDirectory:__ls_n
mov r9, r13
mov rdx, r12
mov r8d, 0x28f
call sym.DbgPrint
mov rax, qword [rbx]
lea r10, [0x14002b990]
mov rcx, qword [rax + 0x8f6]
mov eax, dword [rcx + 0x14]
cmp ax, 1
jne 0x14001b19a
lea rdi, [rsp + 0x70]
xor r8d, r8d
mov edx, 0xf01ff
mov dword [rsp + 0x20], 1
mov qword [rsp + 0x28], rdi
mov rcx, qword [rcx]
mov r9d, 3
call sym.SysDuplicateTokenEx
test eax, eax
jne 0x14001b104
mov rax, qword [rbx]
xor r8d, r8d
mov r9d, 2
mov edx, 0xf01ff
mov rax, qword [rax + 0x8f6]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 1
mov rcx, qword [rax]
call sym.SysDuplicateTokenEx
test eax, eax
jne 0x14001b104
mov rax, qword [rbx]
mov r8d, 0x298
mov rdx, r12
lea rcx, str._DEBUG::_s::_d__Failed_to_duplicate_token___d__n
mov rax, qword [rax + 0x8c2]
mov r9d, dword [rax + 0x68]
jmp 0x14001b271
lea r12, str.ProcessCreate
lea r9, str.CreateProcessWithTokenW
mov r8d, 0x29f
mov rdx, r12
lea rcx, [0x14002b990]
call sym.printf.constprop.0_1
mov rax, qword [rbx]
mov rdi, qword [rsp + 0x68]
mov edx, r15d
or edx, 0x8000000
mov qword [rsp + 0x40], rbp
mov r9, rsi
mov r8, qword [rsp + 0x548]
mov dword [rsp + 0x20], edx
mov rcx, qword [rsp + 0x70]
mov edx, 2
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], 0
call qword [rax + 0x558]
test eax, eax
jne 0x14001b29b
mov rax, qword [rbx]
mov r8d, 0x2ad
mov rdx, r12
lea rcx, str._DEBUG::_s::_d__CreateProcessWithTokenW:_Failed___d__n
mov rax, qword [rax + 0x8c2]
mov r9d, dword [rax + 0x68]
jmp 0x14001b271
cmp ax, 2
jne 0x14001b29b
mov rcx, r10
lea r9, str.CreateProcessWithLogonW
mov r8d, 0x2b5
mov rdx, r12
call sym.printf.constprop.0_1
mov rax, qword [rbx]
mov r8d, 0x2b6
lea rcx, str._DEBUG::_s::_d__lpUser__s__lpDomain__s__lpPassword__s_
mov rax, qword [rax + 0x8f6]
mov rdx, qword [rax + 0x20]
mov r9, qword [rax + 0x18]
mov qword [rsp + 0x28], rdx
mov rax, qword [rax + 0x28]
mov rdx, r12
mov qword [rsp + 0x20], rax
call sym.DbgPrint
mov r10, qword [rbx]
mov r9d, 2
mov rax, qword [r10 + 0x8f6]
mov r8, qword [rax + 0x20]
mov rdx, qword [rax + 0x28]
mov rcx, qword [rax + 0x18]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], rax
mov eax, r15d
or eax, 0x8000000
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x548]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call qword [r10 + 0x560]
test eax, eax
jne 0x14001b29b
mov rax, qword [rbx]
mov r8d, 0x2c4
mov rdx, r12
lea rcx, str._DEBUG::_s::_d__CreateProcessWithLogonW:_Failed___d__n
mov rax, qword [rax + 0x8c2]
mov r9d, dword [rax + 0x68]
call sym.DbgPrint
mov rax, qword [rbx]
mov ecx, 1
xor r15d, r15d
mov r12d, 1
mov rax, qword [rax + 0x8c2]
mov edx, dword [rax + 0x68]
call sym.PackageTransmitError
jmp 0x14001b484
mov r12d, 1
jmp 0x14001b33c
mov rdi, qword [rsp + 0x68]
mov qword [rsp + 0x48], rbp
xor r9d, r9d
xor r8d, r8d
or r15d, 0x8000000
mov dword [rsp + 0x20], 1
mov rdx, rsi
mov rcx, qword [rsp + 0x548]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
call qword [rax + 0x3c0]
mov r15d, eax
test eax, eax
jne 0x14001b33c
mov rax, qword [rbx]
mov r8d, 0x2d9
lea rdx, str.ProcessCreate
lea rcx, str._DEBUG::_s::_d__CreateProcessA:_Failed___d__n
mov rax, qword [rax + 0x8c2]
mov r9d, dword [rax + 0x68]
call sym.DbgPrint
mov rax, qword [rbx]
mov ecx, 1
mov rax, qword [rax + 0x8c2]
mov edx, dword [rax + 0x68]
call sym.PackageTransmitError
jmp 0x14001b484
cmp qword [rbp], 0
mov r15d, 1
je 0x14001b484
mov r13, qword [0x14002d650]
mov rax, qword [r13]
cmp dword [rax + 0xe4], 0
je 0x14001b484
lea r9, str.Send_info_back
mov r8d, 0x2e3
lea rdx, str.ProcessCreate
lea rcx, [0x14002b990]
call sym.printf.constprop.0_1
test rsi, rsi
jne 0x14001b3b8
mov rdx, qword [rsp + 0x548]
mov rcx, qword [rsp + 0x60]
call sym.PackageAddWString
mov rcx, qword [rsp + 0x60]
mov edx, dword [rbp + 0x10]
call sym.PackageAddInt32
mov rcx, qword [rsp + 0x60]
call sym.PackageTransmit
jmp 0x14001b484
mov rcx, rsi
call sym.StringLengthW
mov ecx, 0x40
movsxd rbx, eax
mov dword [rsp + 0x68], eax
mov rax, qword [r13]
lea rdx, [rbx + rbx]
call qword [rax + 0x3a8]
mov rcx, rbx
xor edx, edx
mov rdi, rax
mov r15, rax
rep movsb byte [rdi], byte [rsi]
mov rsi, rax
cmp edx, dword [rsp + 0x68]
jge 0x14001b3ff
add rax, 2
cmp word [rax - 2], 0x20
je 0x14001b3ff
inc edx
jmp 0x14001b3e7
mov r9, r15
mov r8d, 0x2f5
mov rdi, r15
lea rdx, str.ProcessCreate
lea rcx, [0x14002b990]
call sym.printf.constprop.0_1
mov eax, dword [rbp + 0x10]
mov word [rsi], 0
mov r9, r15
mov r8d, 0x2f8
lea rdx, str.ProcessCreate
lea rcx, str._DEBUG::_s::_d__Process_start_::_Path:__ls__ProcessId:__d__n
mov dword [rsp + 0x20], eax
call sym.DbgPrint
mov rcx, qword [rsp + 0x60]
mov rdx, r15
call sym.PackageAddWString
mov edx, dword [rbp + 0x10]
mov rcx, qword [rsp + 0x60]
call sym.PackageAddInt32
mov rcx, qword [rsp + 0x60]
call sym.PackageTransmit
mov rcx, rbx
xor eax, eax
rep stosb byte [rdi], al
mov rax, qword [r13]
mov rcx, r15
mov r15d, 1
call qword [rax + 0x3b0]
cmp dword [rsp + 0x568], 0
setne al
test r15b, 1
je 0x14001b4d0
test al, al
je 0x14001b4ca
mov rax, qword [0x14002d650]
mov edx, dword [rbp + 0x10]
mov r9d, 1
mov r8d, 3
mov rax, qword [rax]
mov ecx, dword [rax + 8]
mov qword [rsp + 0x28], r14
mov rax, qword [rbp]
mov qword [rsp + 0x20], rax
call sym.JobAdd
jmp 0x14001b51d
test r15b, 1
jne 0x14001b51d
test al, al
je 0x14001b51d
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x14001b4ea
call sym.SysNtClose
mov qword [r14 + 8], 0
mov rcx, qword [r14]
test rcx, rcx
je 0x14001b4fe
call sym.SysNtClose
mov qword [r14], 0
mov rdi, r14
mov ecx, 0x10
xor eax, eax
rep stosb byte [rdi], al
mov rax, qword [0x14002d650]
mov rcx, r14
mov rax, qword [rax]
call qword [rax + 0x3b0]
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14001b52c
call sym.SysNtClose
test r12d, r12d
je 0x14001b53b
mov ecx, 1
call sym.TokenImpersonate
add rsp, 0x4f8
mov eax, r15d
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret