Function at 0x140023590
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 [0x1400a52f8]
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, 0xcd
call fcn.140031390
lea rcx, [rsp + 0x268]
mov rdx, r15
call fcn.1400313c0
lea rcx, [rsp + 0x1f0]
call fcn.140031c00
cmp dword [rbx + 0x24], 1
sete bpl
mov rsi, qword [rbx + 0x28]
mov r12, qword [rbx + 0x30]
cmp rsi, r12
je 0x140023690
mov rax, r12
sub rax, rsi
sar rax, 3
cmp rax, 0x1fffffff
ja 0x140023738
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 0x140023662
add rsi, 8
cmp r12, rsi
jne 0x140023640
jmp 0x1400236e6
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
mov rcx, rdi
lea rdx, str..._.._base_process_launch_win.cc
mov r8d, 0xe1
mov r9d, 3
call fcn.140021f30
mov rcx, rdi
call fcn.140022000
jmp 0x140023654
xor edi, edi
cmp byte [rbx + 0x21], 0
je 0x1400236a0
or byte [rsp + 0x234], 0x80
cmp byte [rbx + 0x48], 0
je 0x1400236b5
lea rax, [0x140087508]
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 0x140023747
mov rdx, qword [rbx + 0x60]
jmp 0x140023757
lea rcx, [rsp + 0x1f0]
mov edx, 1
call fcn.140031c80
test al, al
je 0x140023738
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.140031d50
test al, al
je 0x140023738
mov bpl, 1
mov edi, 0x80000
cmp byte [rbx + 0x21], 0
jne 0x140023698
jmp 0x1400236a0
mov rcx, r13
xor edx, edx
call fcn.140023cd0
jmp 0x140023aca
mov rdx, qword [rbx + 0x60]
test rdx, rdx
jne 0x140023757
cmp qword [rbx + 0x68], 0
je 0x14002377f
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 0x140023797
call fcn.140032680
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 0x1400237cc
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1400237df
lea r12, [rbx + 8]
test al, al
jns 0x1400237e2
mov r12, qword [r12]
jmp 0x1400237e2
xor r12d, r12d
lea rdi, [rsp + 0x98]
mov rcx, rdi
mov rdx, r14
call fcn.14001b35a
mov rdx, qword [rbx + 0x40]
test rdx, rdx
je 0x1400238b9
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x80]
xor r8d, r8d
call sub.USERENV.dll_CreateEnvironmentBlock
test eax, eax
je 0x14002389c
or esi, 0x400
mov rdx, qword [rsp + 0x80]
movzx eax, bpl
cmp byte [rsp + 0xaf], 0
jns 0x140023846
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 0x140023b35
mov rcx, r13
xor edx, edx
call fcn.140023cd0
cmp byte [rsp + 0xaf], 0
jns 0x140023aca
jmp 0x140023c27
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], 0
cmp byte [rbx + 0x90], 0
je 0x14002390f
lea r8, [rbx + 0x78]
lea rdx, [0x14008750a]
lea rcx, [rsp + 0x68]
call fcn.1400326a0
cmp byte [rsp + 0x97], 0
js 0x140023967
mov word [rsp + 0x80], 0
mov byte [rsp + 0x97], 0
jmp 0x1400239a3
cmp qword [rbx + 0x88], 0
je 0x1400239d5
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
test rax, rax
je 0x140023b0b
lea r8, [rbx + 0x78]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x60], rax
mov rdx, rax
call fcn.1400326a0
cmp byte [rsp + 0x97], 0
js 0x1400239d9
mov word [rsp + 0x80], 0
mov byte [rsp + 0x97], 0
jmp 0x140023a15
mov rax, qword [rsp + 0x80]
mov word [rax], 0
mov qword [rsp + 0x88], 0
cmp byte [rsp + 0x97], 0
jns 0x1400239a3
mov rcx, qword [rsp + 0x80]
call fcn.14005e8b0
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 0x140023a48
mov rax, qword [rsp + 0x80]
jmp 0x140023a50
xor eax, eax
jmp 0x140023a56
mov rax, qword [rsp + 0x80]
mov word [rax], 0
mov qword [rsp + 0x88], 0
cmp byte [rsp + 0x97], 0
jns 0x140023a15
mov rcx, qword [rsp + 0x80]
call fcn.14005e8b0
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 0x1400239cb
lea rax, [rsp + 0x80]
or esi, 0x400
movzx ecx, bpl
cmp byte [rsp + 0xaf], 0
jns 0x140023a6e
mov rdx, qword [rsp + 0x98]
jmp 0x140023a76
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 0x140023b0b
cmp byte [rsp + 0x97], 0
js 0x140023b24
test esi, esi
je 0x140023b35
cmp byte [rsp + 0xaf], 0
js 0x140023c27
lea rcx, [rsp + 0x1f0]
call fcn.140031c40
lea rcx, [rsp + 0x268]
call fcn.140031690
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.14005ecd0
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.140023cd0
mov esi, 1
cmp byte [rsp + 0x97], 0
jns 0x140023ab8
mov rcx, qword [rsp + 0x80]
call fcn.14005e8b0
test esi, esi
jne 0x140023abc
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0xb0]
call fcn.140032b20
mov rcx, qword [rbx + 0x50]
test rcx, rcx
je 0x140023b65
mov rdx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
test eax, eax
je 0x140023bcd
cmp byte [rbx + 0x71], 0
je 0x140023b80
mov rcx, qword [rsp + 0x80]
call fcn.140032cf0
mov ecx, eax
call qword [sym.imp.USER32.dll_AllowSetForegroundWindow]
cmp byte [rbx], 0
je 0x140023b98
mov rcx, qword [rsp + 0x80]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [rsp + 0x90]
mov rcx, qword [0x1400a8a78]
test rcx, rcx
je 0x140023bb3
mov r8, r14
call fcn.140027e90
lea rcx, [rsp + 0x80]
call fcn.140032c90
mov rcx, r13
mov rdx, rax
call fcn.140023cd0
jmp 0x140023c0c
lea rcx, [rsp + 0x80]
call fcn.140032c90
lea rdi, [rsp + 0x68]
mov rcx, rdi
mov rdx, rax
call fcn.140023cd0
mov rcx, rdi
mov edx, 1
mov r8b, 1
call fcn.140023e50
mov rcx, r13
xor edx, edx
call fcn.140023cd0
mov rcx, rdi
call fcn.140023d10
lea rcx, [rsp + 0x80]
call fcn.140032b70
cmp byte [rsp + 0xaf], 0
jns 0x140023aca
mov rcx, qword [rsp + 0x98]
call fcn.14005e8b0
jmp 0x140023aca