Function at 0x140078640
Capabilities:
Create process on windows
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x278
mov rbx, r8
mov r14, rdx
mov r13, rcx
mov rax, qword [0x1401ee6a8]
xor rax, rsp
mov qword [rsp + 0x270], rax
lea rdx, str.LaunchProcess
lea r8, str..._.._base_process_launch_win.cc
lea r15, [rsp + 0xb0]
mov rcx, r15
mov r9d, 0xd8
call fcn.140038520
lea rcx, [rsp + 0x268]
mov rdx, r15
call fcn.140075bb0
lea rcx, [rsp + 0x1f0]
call fcn.1400aae60
cmp dword [rbx + 0x24], 1
sete bpl
mov rsi, qword [rbx + 0x28]
mov r12, qword [rbx + 0x30]
cmp rsi, r12
je 0x140078740
mov rax, r12
sub rax, rsi
sar rax, 3
cmp rax, 0x1fffffff
ja 0x1400787e8
mov rbp, qword [sym.imp.KERNEL32.dll_SetHandleInformation]
lea rdi, [rsp + 0xb0]
nop dword [rax]
mov rcx, qword [rsi]
mov edx, 1
mov r8d, 1
call rbp
test eax, eax
je 0x140078712
add rsi, 8
cmp r12, rsi
jne 0x1400786f0
jmp 0x140078796
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
mov rcx, rdi
lea rdx, str..._.._base_process_launch_win.cc
mov r8d, 0xec
mov r9d, 3
call fcn.140039550
mov rcx, rdi
call fcn.140039620
jmp 0x140078704
xor edi, edi
cmp byte [rbx + 0x21], 0
je 0x140078750
or byte [rsp + 0x234], 0x80
cmp byte [rbx + 0x48], 0
je 0x140078765
lea rax, [0x140197510]
mov qword [rsp + 0x208], rax
mov eax, dword [rsp + 0x234]
mov ecx, eax
or ecx, 1
mov dword [rsp + 0x234], ecx
movzx ecx, byte [rbx + 0x20]
xor ecx, 1
mov word [rsp + 0x238], cx
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x1400787f7
mov rdx, qword [rbx + 0x60]
jmp 0x140078807
lea rcx, [rsp + 0x1f0]
mov edx, 1
call fcn.1400aaee0
test al, al
je 0x1400787e8
mov r9d, dword [rbx + 0x30]
mov r8, qword [rbx + 0x28]
sub r9d, r8d
and r9d, 0xfffffff8
lea rcx, [rsp + 0x1f0]
mov edx, 0x20002
call fcn.1400aafb0
test al, al
je 0x1400787e8
mov bpl, 1
mov edi, 0x80000
cmp byte [rbx + 0x21], 0
jne 0x140078748
jmp 0x140078750
mov rcx, r13
xor edx, edx
call fcn.140051110
jmp 0x140078b7a
mov rdx, qword [rbx + 0x60]
test rdx, rdx
jne 0x140078807
cmp qword [rbx + 0x68], 0
je 0x14007882f
or eax, 0x101
mov dword [rsp + 0x234], eax
mov qword [rsp + 0x248], rcx
mov qword [rsp + 0x250], rdx
mov rax, qword [rbx + 0x68]
mov qword [rsp + 0x258], rax
cmp qword [rbx + 0x50], 0
je 0x140078847
call fcn.1400538d0
lea ecx, [rdi + 0x1000000]
cmp eax, 5
cmovl edi, ecx
mov esi, edi
or esi, 0x1000000
cmp byte [rbx + 0x70], 0
cmove esi, edi
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
movzx eax, byte [rbx + 0x1f]
mov rcx, rax
test al, al
jns 0x14007887c
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14007888f
lea r12, [rbx + 8]
test al, al
jns 0x140078892
mov r12, qword [r12]
jmp 0x140078892
xor r12d, r12d
lea rdi, [rsp + 0x98]
mov rcx, rdi
mov rdx, r14
call fcn.14002e592
mov rdx, qword [rbx + 0x40]
test rdx, rdx
je 0x140078969
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x80]
xor r8d, r8d
call sub.USERENV.dll_CreateEnvironmentBlock
test eax, eax
je 0x14007894c
or esi, 0x400
mov rdx, qword [rsp + 0x80]
movzx eax, bpl
cmp byte [rsp + 0xaf], 0
jns 0x1400788f6
mov rdi, qword [rsp + 0x98]
mov rcx, qword [rbx + 0x40]
mov qword [rsp + 0x50], r15
lea rbp, [rsp + 0x1f8]
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor edx, edx
mov r8, rdi
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
mov edi, eax
mov rcx, qword [rsp + 0x80]
call sub.USERENV.dll_DestroyEnvironmentBlock
test edi, edi
jne 0x140078be5
mov rcx, r13
xor edx, edx
call fcn.140051110
cmp byte [rsp + 0xaf], 0
jns 0x140078b7a
jmp 0x140078cd7
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], 0
cmp byte [rbx + 0x90], 0
je 0x1400789bf
lea r8, [rbx + 0x78]
lea rdx, [0x1401a2c96]
lea rcx, [rsp + 0x68]
call fcn.1400aaff0
cmp byte [rsp + 0x97], 0
js 0x140078a17
mov word [rsp + 0x80], 0
mov byte [rsp + 0x97], 0
jmp 0x140078a53
cmp qword [rbx + 0x88], 0
je 0x140078a85
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
test rax, rax
je 0x140078bbb
lea r8, [rbx + 0x78]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x60], rax
mov rdx, rax
call fcn.1400aaff0
cmp byte [rsp + 0x97], 0
js 0x140078a89
mov word [rsp + 0x80], 0
mov byte [rsp + 0x97], 0
jmp 0x140078ac5
mov rax, qword [rsp + 0x80]
mov word [rax], 0
mov qword [rsp + 0x88], 0
cmp byte [rsp + 0x97], 0
jns 0x140078a53
mov rcx, qword [rsp + 0x80]
call fcn.140163a8c
mov qword [rsp + 0x90], 0
lea rdi, [rsp + 0x80]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x90], rax
movups xmm0, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x80], xmm0
cmp byte [rdi + 0x17], 0
jns 0x140078af8
mov rax, qword [rsp + 0x80]
jmp 0x140078b00
xor eax, eax
jmp 0x140078b06
mov rax, qword [rsp + 0x80]
mov word [rax], 0
mov qword [rsp + 0x88], 0
cmp byte [rsp + 0x97], 0
jns 0x140078ac5
mov rcx, qword [rsp + 0x80]
call fcn.140163a8c
mov qword [rsp + 0x90], 0
lea rdi, [rsp + 0x80]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x90], rax
movups xmm0, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x80], xmm0
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
cmp byte [rdi + 0x17], 0
js 0x140078a7b
lea rax, [rsp + 0x80]
or esi, 0x400
movzx ecx, bpl
cmp byte [rsp + 0xaf], 0
jns 0x140078b1e
mov rdx, qword [rsp + 0x98]
jmp 0x140078b26
lea rdx, [rsp + 0x98]
mov qword [rsp + 0x48], r15
lea rbp, [rsp + 0x1f8]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], ecx
xor esi, esi
xor ecx, ecx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x140078bbb
cmp byte [rsp + 0x97], 0
js 0x140078bd4
test esi, esi
je 0x140078be5
cmp byte [rsp + 0xaf], 0
js 0x140078cd7
lea rcx, [rsp + 0x1f0]
call fcn.1400aaea0
lea rcx, [rsp + 0x268]
call fcn.140075e80
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.140163e00
mov rax, r13
add rsp, 0x278
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r13
xor edx, edx
call fcn.140051110
mov esi, 1
cmp byte [rsp + 0x97], 0
jns 0x140078b68
mov rcx, qword [rsp + 0x80]
call fcn.140163a8c
test esi, esi
jne 0x140078b6c
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0xb0]
call fcn.1400ab470
mov rcx, qword [rbx + 0x50]
test rcx, rcx
je 0x140078c15
mov rdx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
test eax, eax
je 0x140078c7d
cmp byte [rbx + 0x71], 0
je 0x140078c30
mov rcx, qword [rsp + 0x80]
call fcn.140067b00
mov ecx, eax
call qword [sym.imp.USER32.dll_AllowSetForegroundWindow]
cmp byte [rbx], 0
je 0x140078c48
mov rcx, qword [rsp + 0x80]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [rsp + 0x90]
mov rcx, qword [0x1401f3ac8]
test rcx, rcx
je 0x140078c63
mov r8, r14
call fcn.1400656d0
lea rcx, [rsp + 0x80]
call fcn.1400ab810
mov rcx, r13
mov rdx, rax
call fcn.140051110
jmp 0x140078cbc
lea rcx, [rsp + 0x80]
call fcn.1400ab810
lea rdi, [rsp + 0x68]
mov rcx, rdi
mov rdx, rax
call fcn.140051110
mov rcx, rdi
mov edx, 1
mov r8b, 1
call fcn.1400514d0
mov rcx, r13
xor edx, edx
call fcn.140051110
mov rcx, rdi
call fcn.140051150
lea rcx, [rsp + 0x80]
call fcn.1400ab520
cmp byte [rsp + 0xaf], 0
jns 0x140078b7a
mov rcx, qword [rsp + 0x98]
call fcn.140163a8c
jmp 0x140078b7a