Function at 0x1400aa050
Capabilities:
Create process on windows
Query environment variable
Resume thread

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x248
movaps xmmword [rsp + 0x230], xmm6
mov r15, r8
mov r12, rdx
mov r13, rcx
mov rax, qword [0x140203038]
xor rax, rsp
mov qword [rsp + 0x228], rax
cmp byte [r8 + 0x21], 0
jne 0x1400aa6cf
movabs r14, 0xaaaaaaaaaaaaaaaa
mov al, byte [0x140205980]
xor esi, esi
mov byte [rsp + 0x5f], al
test al, 0x19
mov qword [rsp + 0x60], r13
je 0x1400aa5a1
lea rdi, [rsp + 0x110]
mov rcx, rdi
call fcn.1400693a0
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdi, [0x140205980]
lea r8, str.LaunchProcess
mov cl, 0x58
mov rdx, rdi
mov qword [rsp + 0x78], r8
xor r9d, r9d
call fcn.1400679e0
mov qword [rsp + 0x70], rax
lea r13, [rsp + 0x1a0]
mov qword [r13 + 0x10], r14
movaps xmm6, xmmword [0x1401d39f0]
movaps xmmword [r13], xmm6
lea rdx, str.LaunchProcess
lea r8, str....._baseprocesslaunch_win.cc
lea rbp, [rsp + 0x110]
mov rcx, rbp
mov r9d, 0x11c
call fcn.140077960
lea r8, [0x140218ccc]
mov rcx, r13
mov rdx, rbp
call fcn.14006d0e0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x210], xmm0
mov dword [rsp + 0x18c], 0
mov qword [rbp + 0x70], r14
movaps xmmword [rbp + 0x60], xmm6
movaps xmmword [rbp + 0x50], xmm6
movaps xmmword [rbp + 0x40], xmm6
movaps xmmword [rbp + 0x30], xmm6
movaps xmmword [rbp + 0x20], xmm6
movaps xmmword [rbp + 0x10], xmm6
movaps xmmword [rbp], xmm6
lea rcx, [rsp + 0x110]
call fcn.1400c6530
cmp byte [r15 + 0x7a], 0
je 0x1400aa1b6
call fcn.140068be0
xor esi, esi
cmp eax, 0x10
setge sil
movzx eax, byte [r15 + 0x7b]
add esi, eax
mov rcx, qword [r15 + 0x28]
xor r8d, r8d
cmp rcx, qword [r15 + 0x30]
setne r8b
add r8d, esi
movzx edx, byte [r15 + 0x7c]
add edx, r8d
je 0x1400aa729
lea rcx, [rsp + 0x110]
call fcn.1400c65b0
test al, al
je 0x1400aa758
mov al, byte [r15 + 0x7b]
mov esi, 0x80000
mov dword [rsp + 0x10c], 2
test al, al
jne 0x1400aa730
cmp byte [r15 + 0x7a], 0
je 0x1400aa24c
call fcn.140068be0
cmp eax, 0x10
jl 0x1400aa24c
lea r8, [rsp + 0x210]
or byte [r8 + 0xb], 0x20
lea rcx, [rsp + 0x110]
mov edx, 0x20007
mov r9d, 0x10
call fcn.1400c6680
test al, al
je 0x1400aa758
mov qword [rsp + 0x68], rdi
cmp byte [r15 + 0x7c], 0
jne 0x1400aa770
cmp dword [r15 + 0x24], 1
sete r13b
mov rdi, qword [r15 + 0x28]
mov r14, qword [r15 + 0x30]
cmp rdi, r14
je 0x1400aa2f6
mov rax, r14
sub rax, rdi
mov ecx, 0xfffffff8
cmp rax, rcx
ja 0x1400aa79f
mov rbx, qword [sym.imp.KERNEL32.dll_SetHandleInformation]
lea r13, str....._baseprocesslaunch_win.cc
lea rbp, [rsp + 0x100]
mov rcx, qword [rdi]
mov edx, 1
mov r8d, 1
call rbx
test eax, eax
je 0x1400aa613
add rdi, 8
cmp rdi, r14
jne 0x1400aa2a0
mov r8, qword [r15 + 0x28]
mov r9, qword [r15 + 0x30]
cmp r9, r8
je 0x1400aa7bc
sub r9d, r8d
and r9d, 0xfffffff8
lea rcx, [rsp + 0x110]
mov edx, 0x20002
call fcn.1400c6680
mov r13b, 1
test al, al
je 0x1400aa79f
cmp byte [r15 + 0x22], 0
jne 0x1400aa7e8
cmp byte [r15 + 0x50], 0
jne 0x1400aa7f5
mov eax, dword [rsp + 0x154]
mov ecx, eax
or ecx, 1
mov dword [rsp + 0x154], ecx
mov edx, dword [r15 + 0x40]
test edx, edx
jne 0x1400aa809
xor ecx, ecx
cmp byte [r15 + 0x20], 0
sete cl
mov word [rsp + 0x158], cx
mov rcx, qword [r15 + 0x60]
mov rdx, qword [r15 + 0x68]
mov r8, qword [r15 + 0x70]
test rcx, rcx
jne 0x1400aa631
test rdx, rdx
jne 0x1400aa631
test r8, r8
jne 0x1400aa631
cmp byte [r15 + 0x78], 0
lea edi, [rsi + 0x1000000]
cmove edi, esi
xorps xmm0, xmm0
movaps xmmword [rsp + 0xe0], xmm0
mov qword [rsp + 0xf0], 0
movzx eax, byte [r15 + 0x1f]
test al, al
jns 0x1400aa39c
mov rax, qword [r15 + 0x10]
mov rsi, qword [r15 + 8]
jmp 0x1400aa3a0
lea rsi, [r15 + 8]
test rax, rax
cmove rsi, rax
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xd0], rbp
movaps xmmword [rsp + 0xc0], xmm6
cmp byte [r12 + 0x17], 0
jns 0x1400aa832
mov rdx, qword [r12]
mov r8, qword [r12 + 8]
lea rcx, [rsp + 0xc0]
call fcn.140066444
cmp byte [r15 + 0x7d], 0
jne 0x1400aa851
xor r12d, r12d
lea r14, [rsp + 0x118]
mov rdx, qword [r15 + 0x48]
test rdx, rdx
jne 0x1400aa86a
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1c0], xmm0
mov qword [rsp + 0x1d0], 0
mov al, byte [r15 + 0x98]
test al, al
jne 0x1400aa65a
cmp qword [r15 + 0x90], 0
jne 0x1400aa65a
xor eax, eax
movzx ecx, r13b
cmp byte [rsp + 0xd7], 0
jns 0x1400aa454
mov rdx, qword [rsp + 0xc0]
jmp 0x1400aa45c
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0xe0]
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], ecx
xor ecx, ecx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x1400aa9d7
cmp byte [rsp + 0x1d7], 0
js 0x1400aa8bd
mov r13, qword [rsp + 0x60]
mov bl, byte [rsp + 0x5f]
mov rdi, qword [rsp + 0x68]
lea rcx, [rsp + 0xa0]
mov qword [rcx + 0x10], rbp
movaps xmmword [rcx], xmm6
lea rdx, [rsp + 0xe0]
call fcn.1400c6790
test r12, r12
je 0x1400aa4de
cmp byte [r15 + 0x7d], 0
jne 0x1400aaa0d
mov rcx, qword [r15 + 0x58]
test rcx, rcx
jne 0x1400aa5b2
cmp byte [r15 + 0x79], 0
jne 0x1400aa8cf
cmp byte [r15], 0
jne 0x1400aa8e9
lea rcx, [rsp + 0xa0]
call fcn.1400c68e0
mov rcx, r13
mov rdx, rax
call fcn.1400e6a30
lea rcx, [rsp + 0xa0]
call fcn.1400c6820
cmp byte [rsp + 0xd7], 0
jns 0x1400aa53c
mov rcx, qword [rsp + 0xc0]
call fcn.1400eb6ac
lea rcx, [rsp + 0x110]
call fcn.1400c6570
lea rcx, [rsp + 0x1a0]
call fcn.14006d1f0
test bl, 0x19
je 0x1400aa572
cmp byte [rdi], 0
je 0x1400aa572
mov rcx, rdi
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x70]
call fcn.140068370
mov rcx, qword [rsp + 0x228]
xor rcx, rsp
call fcn.1400ecd30
mov rax, r13
movaps xmm6, xmmword [rsp + 0x230]
add rsp, 0x248
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
xor edi, edi
jmp 0x1400aa110
mov rdx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
test eax, eax
jne 0x1400aa4eb
lea r15, [rsp + 0x1c0]
movaps xmmword [r15], xmm6
lea rcx, [rsp + 0xa0]
call fcn.1400c68e0
mov rcx, r15
mov rdx, rax
call fcn.1400e6a30
mov rcx, r15
mov edx, 1
mov r8b, 1
call fcn.1401668d0
mov rcx, r13
xor edx, edx
call fcn.1400e6a30
mov rcx, r15
call fcn.140069d20
jmp 0x1400aa518
mov rcx, rbp
mov rdx, r13
mov r8d, 0x177
call fcn.14016ab00
mov rcx, rbp
call fcn.14016ab20
jmp 0x1400aa2b8
or eax, 0x101
mov dword [rsp + 0x154], eax
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x170], rdx
mov qword [rsp + 0x178], r8
jmp 0x1400aa364
test al, al
je 0x1400aa96d
lea r8, [r15 + 0x80]
lea rdx, [0x1401e06ba]
lea rcx, [rsp + 0x80]
call fcn.14012f6c0
cmp byte [rsp + 0x1d7], 0
jns 0x1400aa694
mov rcx, qword [rsp + 0x1c0]
call fcn.1400eb6ac
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x1d0], rax
movups xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x1c0], xmm0
cmp byte [rsp + 0x1d7], 0
jns 0x1400aa95a
mov rax, qword [rsp + 0x1c0]
jmp 0x1400aa962
mov bl, byte [r15]
mov dil, byte [r15 + 0x20]
movzx eax, byte [r12 + 0x17]
test al, al
mov rcx, qword [r12]
cmovns rcx, r12
lea rdx, [rsp + 0x190]
mov qword [rdx], rcx
cmovs rax, qword [r12 + 8]
mov qword [rdx + 8], rax
lea r14, [rsp + 0x110]
mov rcx, r14
call fcn.1400b2ae0
mov rcx, r13
mov rdx, r14
mov r8d, edi
mov r9d, ebx
call fcn.1401669e0
mov rcx, r14
call fcn.1400b25a0
jmp 0x1400aa572
xor esi, esi
jmp 0x1400aa1fb
lea rcx, [rsp + 0x110]
lea r8, [rsp + 0x10c]
mov edx, 0x20012
mov r9d, 4
call fcn.1400c6680
test al, al
jne 0x1400aa20e
mov r13, qword [rsp + 0x60]
mov rcx, r13
xor edx, edx
call fcn.1400e6a30
mov bl, byte [rsp + 0x5f]
jmp 0x1400aa53c
lea r8, [rsp + 0x18c]
mov dword [r8], 1
lea rcx, [rsp + 0x110]
mov edx, 0x2001c
mov r9d, 4
call fcn.1400c6680
test al, al
jne 0x1400aa25c
mov r13, qword [rsp + 0x60]
mov rcx, r13
xor edx, edx
call fcn.1400e6a30
mov bl, byte [rsp + 0x5f]
mov rdi, qword [rsp + 0x68]
jmp 0x1400aa53c
lea rax, str.vector___index_out_of_bounds
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str.__n___size__
mov r8d, 0x5c0
call fcn.140139d31
or byte [rsp + 0x154], 0x80
jmp 0x1400aa301
lea rax, [0x1401d792a]
mov qword [rsp + 0x128], rax
jmp 0x1400aa30c
mov cx, 0xa
add edx, 0xfffffffe
cmp edx, 3
ja case.default.0x1400aa827
lea rcx, [0x1401e06e0]
movsxd rdx, dword [rcx + rdx*4]
add rdx, rcx
jmp rdx
mov cx, 1
jmp case.default.0x1400aa827
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0xd0], rax
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1400aa3e3
call fcn.1401854b0
test rax, rax
je 0x1400aaa35
mov r12, rax
or edi, 4
jmp 0x1400aa3f1
lea rcx, [rsp + 0x1c0]
mov qword [rcx], 0
xor r8d, r8d
call sub.USERENV.dll_CreateEnvironmentBlock
test eax, eax
je 0x1400aaaaf
or edi, 0x400
cmp byte [r15 + 0x7e], 0
mov rax, qword [rsp + 0x1c0]
je 0x1400aaa40
cmp byte [rsp + 0xd7], 0
jns 0x1400aaa5f
mov r9, qword [rsp + 0xc0]
jmp 0x1400aaa67
mov rcx, qword [rsp + 0x1c0]
call fcn.1400eb6ac
jmp 0x1400aa4a4
mov rcx, qword [rsp + 0xa0]
call fcn.1400e89c0
mov ecx, eax
call qword [sym.imp.USER32.dll_AllowSetForegroundWindow]
jmp 0x1400aa4f6
lea r15, [rsp + 0x1c0]
mov qword [r15 + 0x40], rbp
movaps xmmword [r15 + 0x30], xmm6
movaps xmmword [r15 + 0x20], xmm6
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
lea rdx, str.LaunchProcess
lea r8, str....._baseprocesslaunch_win.cc
lea r12, [rsp + 0x80]
mov rcx, r12
mov r9d, 0x216
call fcn.140077960
mov rcx, r15
mov rdx, r12
xor r8d, r8d
call fcn.14006d330
mov rcx, qword [rsp + 0xa0]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, r15
call fcn.14006e440
jmp 0x1400aa500
lea rax, [rsp + 0x1c0]
or edi, 0x400
jmp 0x1400aa43c
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
test rax, rax
je 0x1400aa9d7
mov rbx, rax
lea r8, [r15 + 0x80]
lea rcx, [rsp + 0x80]
mov rdx, rax
call fcn.14012f6c0
cmp byte [rsp + 0x1d7], 0
jns 0x1400aa9a9
mov rcx, qword [rsp + 0x1c0]
call fcn.1400eb6ac
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x1d0], rax
movups xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x1c0], xmm0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
jmp 0x1400aa6b4
mov rcx, qword [rsp + 0x60]
xor edx, edx
call fcn.1400e6a30
cmp byte [rsp + 0x1d7], 0
jns 0x1400aa9fa
mov rcx, qword [rsp + 0x1c0]
call fcn.1400eb6ac
mov r13, qword [rsp + 0x60]
mov bl, byte [rsp + 0x5f]
mov rdi, qword [rsp + 0x68]
jmp 0x1400aa525
mov ecx, dword [rsp + 0xb0]
mov edx, 4
mov rax, r12
call qword [case.0x140166830.0]
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
jmp 0x1400aa4de
or edi, 0x8000
jmp 0x1400aa3ee
movzx edx, r13b
cmp byte [rsp + 0xd7], 0
jns 0x1400aaadc
mov r8, qword [rsp + 0xc0]
jmp 0x1400aaae4
lea r9, [rsp + 0xc0]
mov rcx, qword [r15 + 0x48]
lea rdx, [rsp + 0xe0]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
xor edx, edx
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_CreateProcessWithTokenW]
mov r13d, eax
mov rcx, qword [rsp + 0x1c0]
call sub.USERENV.dll_DestroyEnvironmentBlock
test r13d, r13d
jne 0x1400aa4a4
mov r13, qword [rsp + 0x60]
mov rcx, r13
xor edx, edx
call fcn.1400e6a30
jmp 0x1400aa9ff
mov cx, 2
jmp case.default.0x1400aa827
mov cx, 7
jmp case.default.0x1400aa827
xor ecx, ecx
jmp case.default.0x1400aa827
lea r8, [rsp + 0xc0]
mov rcx, qword [r15 + 0x48]
lea r9, [rsp + 0xe0]
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], 0
xor edx, edx
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
jmp 0x1400aaa96