Function at 0x140059b30
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 [0x1401b6b28]
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.140047ce0
lea rcx, [rsp + 0x268]
mov rdx, r15
call fcn.14009f670
lea rcx, [rsp + 0x1f0]
call fcn.1400a00c0
cmp dword [rbx + 0x24], 1
sete bpl
mov rsi, qword [rbx + 0x28]
mov r12, qword [rbx + 0x30]
cmp rsi, r12
je 0x140059c30
mov rax, r12
sub rax, rsi
sar rax, 3
cmp rax, 0x1fffffff
ja 0x140059cd8
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 0x140059c02
add rsi, 8
cmp r12, rsi
jne 0x140059be0
jmp 0x140059c86
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.140048f30
mov rcx, rdi
call fcn.140049000
jmp 0x140059bf4
xor edi, edi
cmp byte [rbx + 0x21], 0
je 0x140059c40
or byte [rsp + 0x234], 0x80
cmp byte [rbx + 0x48], 0
je 0x140059c55
lea rax, [0x14017555a]
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 0x140059ce7
mov rdx, qword [rbx + 0x60]
jmp 0x140059cf7
lea rcx, [rsp + 0x1f0]
mov edx, 1
call fcn.1400a0140
test al, al
je 0x140059cd8
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.1400a0210
test al, al
je 0x140059cd8
mov bpl, 1
mov edi, 0x80000
cmp byte [rbx + 0x21], 0
jne 0x140059c38
jmp 0x140059c40
mov rcx, r13
xor edx, edx
call fcn.14005a520
jmp 0x14005a06a
mov rdx, qword [rbx + 0x60]
test rdx, rdx
jne 0x140059cf7
cmp qword [rbx + 0x68], 0
je 0x140059d1f
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 0x140059d37
call fcn.1400800d0
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 0x140059d6c
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x140059d7f
lea r12, [rbx + 8]
test al, al
jns 0x140059d82
mov r12, qword [r12]
jmp 0x140059d82
xor r12d, r12d
lea rdi, [rsp + 0x98]
mov rcx, rdi
mov rdx, r14
call fcn.14002a87c
mov rdx, qword [rbx + 0x40]
test rdx, rdx
je 0x140059e59
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x80]
xor r8d, r8d
call sub.USERENV.dll_CreateEnvironmentBlock
test eax, eax
je 0x140059e3c
or esi, 0x400
mov rdx, qword [rsp + 0x80]
movzx eax, bpl
cmp byte [rsp + 0xaf], 0
jns 0x140059de6
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 0x14005a0d5
mov rcx, r13
xor edx, edx
call fcn.14005a520
cmp byte [rsp + 0xaf], 0
jns 0x14005a06a
jmp 0x14005a1c7
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], 0
cmp byte [rbx + 0x90], 0
je 0x140059eaf
lea r8, [rbx + 0x78]
lea rdx, [0x14017cba0]
lea rcx, [rsp + 0x68]
call fcn.1400a0250
cmp byte [rsp + 0x97], 0
js 0x140059f07
mov word [rsp + 0x80], 0
mov byte [rsp + 0x97], 0
jmp 0x140059f43
cmp qword [rbx + 0x88], 0
je 0x140059f75
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
test rax, rax
je 0x14005a0ab
lea r8, [rbx + 0x78]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x60], rax
mov rdx, rax
call fcn.1400a0250
cmp byte [rsp + 0x97], 0
js 0x140059f79
mov word [rsp + 0x80], 0
mov byte [rsp + 0x97], 0
jmp 0x140059fb5
mov rax, qword [rsp + 0x80]
mov word [rax], 0
mov qword [rsp + 0x88], 0
cmp byte [rsp + 0x97], 0
jns 0x140059f43
mov rcx, qword [rsp + 0x80]
call fcn.140147c5c
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 0x140059fe8
mov rax, qword [rsp + 0x80]
jmp 0x140059ff0
xor eax, eax
jmp 0x140059ff6
mov rax, qword [rsp + 0x80]
mov word [rax], 0
mov qword [rsp + 0x88], 0
cmp byte [rsp + 0x97], 0
jns 0x140059fb5
mov rcx, qword [rsp + 0x80]
call fcn.140147c5c
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 0x140059f6b
lea rax, [rsp + 0x80]
or esi, 0x400
movzx ecx, bpl
cmp byte [rsp + 0xaf], 0
jns 0x14005a00e
mov rdx, qword [rsp + 0x98]
jmp 0x14005a016
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 0x14005a0ab
cmp byte [rsp + 0x97], 0
js 0x14005a0c4
test esi, esi
je 0x14005a0d5
cmp byte [rsp + 0xaf], 0
js 0x14005a1c7
lea rcx, [rsp + 0x1f0]
call fcn.1400a0100
lea rcx, [rsp + 0x268]
call fcn.14009f940
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.140147fd0
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.14005a520
mov esi, 1
cmp byte [rsp + 0x97], 0
jns 0x14005a058
mov rcx, qword [rsp + 0x80]
call fcn.140147c5c
test esi, esi
jne 0x14005a05c
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0xb0]
call fcn.14008ac60
mov rcx, qword [rbx + 0x50]
test rcx, rcx
je 0x14005a105
mov rdx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
test eax, eax
je 0x14005a16d
cmp byte [rbx + 0x71], 0
je 0x14005a120
mov rcx, qword [rsp + 0x80]
call fcn.14009d350
mov ecx, eax
call qword [sym.imp.USER32.dll_AllowSetForegroundWindow]
cmp byte [rbx], 0
je 0x14005a138
mov rcx, qword [rsp + 0x80]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [rsp + 0x90]
mov rcx, qword [0x1401bc948]
test rcx, rcx
je 0x14005a153
mov r8, r14
call fcn.14008eb20
lea rcx, [rsp + 0x80]
call fcn.14008add0
mov rcx, r13
mov rdx, rax
call fcn.14005a520
jmp 0x14005a1ac
lea rcx, [rsp + 0x80]
call fcn.14008add0
lea rdi, [rsp + 0x68]
mov rcx, rdi
mov rdx, rax
call fcn.14005a520
mov rcx, rdi
mov edx, 1
mov r8b, 1
call fcn.14005a740
mov rcx, r13
xor edx, edx
call fcn.14005a520
mov rcx, rdi
call fcn.14005a3a0
lea rcx, [rsp + 0x80]
call fcn.14008acb0
cmp byte [rsp + 0xaf], 0
jns 0x14005a06a
mov rcx, qword [rsp + 0x98]
call fcn.140147c5c
jmp 0x14005a06a