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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
movaps xmmword [rsp + 0x130], xmm7
movaps xmmword [rsp + 0x120], xmm6
mov r15, r9
mov rdi, r8
mov r14, rdx
mov rbx, rcx
mov rax, qword [0x14029c028]
xor rax, rsp
mov qword [rsp + 0x118], rax
mov rcx, rdx
call fcn.1401860d8
mov rdx, qword [rbx + 0x48]
mov qword [rbx + 0x48], rax
test rdx, rdx
jne 0x14016be46
mov r13, qword [r15]
mov rcx, rdi
call fcn.1401860d8
xor edi, edi
cmp qword [r13 + 0xa0], 0
mov r12, rax
setne r9b
xorps xmm6, xmm6
movaps xmmword [rsp + 0xc0], xmm6
mov qword [rsp + 0xd0], 0
mov rdx, qword [r15]
cmp byte [rdx + 0x21], 0
je 0x14016b9e2
mov byte [rsp + 0x67], r9b
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rbx
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
test rax, rax
je 0x14016bd8a
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x90], r15
xorps xmm7, xmm7
movaps xmmword [rsp + 0xa0], xmm7
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0x68], rax
movzx eax, word [rax]
test ax, ax
je 0x14016b9eb
lea r12, [rsp + 0x100]
lea r15, [rsp + 0xe0]
lea rsi, str.Path
lea r14, str.Path
mov rbp, qword [rsp + 0x68]
jmp 0x14016b8a3
xor r8d, r8d
lea r9, str.SystemDrive
movzx r10d, word [r9]
cmp r10w, word [rdx + r8*2]
jne 0x14016b73d
add r9, 2
inc r8
cmp rcx, r8
jne 0x14016b71a
lea r8, str.SystemDrive
jmp 0x14016b869
cmp rcx, 0xa
jne 0x14016b83e
mov r8d, 0xa
jmp 0x14016b90e
xor r8d, r8d
lea r9, str.Path
movzx r9d, word [r8 + r9]
cmp r9w, word [rdx + r8]
jne 0x14016b827
add r8, 2
cmp r8, 8
jne 0x14016b755
mov r8, rsi
jmp 0x14016b869
movzx eax, ax
test eax, eax
je 0x14016b798
movzx eax, word [rbx + r13*2 + 2]
inc r13
add rbp, 2
cmp ax, 0x3d
jne 0x14016b77e
mov rcx, r12
mov rdx, rbx
mov r8, r13
call fcn.140046e20
cmp byte [rsp + 0xf7], 0
js 0x14016bddc
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0xf0], rax
movups xmm0, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0xe0], xmm0
inc r13
cmp word [rbp], 0
lea rbp, [rbp + 2]
jne 0x14016b7d4
movzx eax, byte [rsp + 0xf7]
mov ecx, eax
and ecx, 0x7f
test al, al
cmovs rcx, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xe0]
cmovns rdx, r15
test rcx, rcx
js 0x14016bdee
test rdx, rdx
jne 0x14016b81d
test rcx, rcx
jne 0x14016be1a
cmp rcx, 4
je 0x14016b752
cmp rcx, 0xb
je 0x14016b710
mov r8, rcx
cmp rcx, 0xa
je 0x14016b90e
cmp rcx, 4
je 0x14016b8de
cmp rcx, 3
je 0x14016b93d
cmp rcx, 0xc
je 0x14016b9b5
mov r8, r14
cmp rcx, 0x19
je 0x14016b973
sub r8, rsi
test r8, r8
jle 0x14016bdd3
cmp r8, 0x71
jae 0x14016bdd0
cmp r8, 0x70
jne 0x14016b8c2
test al, al
jns 0x14016b896
mov rcx, qword [rsp + 0xe0]
call fcn.140184dbc
movzx eax, word [rbp]
test ax, ax
je 0x14016b9eb
mov rbx, rbp
movaps xmmword [rsp + 0xe0], xmm7
mov qword [rsp + 0xf0], 0
xor r13d, r13d
jmp 0x14016b792
lea rcx, [rsp + 0xa0]
mov rdx, rbx
mov r8, r13
call fcn.14001eac0
mov al, byte [rsp + 0xf7]
jmp 0x14016b885
xor r8d, r8d
lea r9, str.TEMP
movzx r9d, word [r8 + r9]
cmp r9w, word [rdx + r8]
jne 0x14016b848
add r8, 2
cmp r8, 8
jne 0x14016b8e1
lea r8, str.TEMP
jmp 0x14016b869
xor r9d, r9d
lea r10, str.SystemRoot
movzx r10d, word [r9 + r10]
cmp r10w, word [rdx + r9]
jne 0x14016b83e
add r9, 2
dec r8
jne 0x14016b911
lea r8, str.SystemRoot
jmp 0x14016b869
xor r8d, r8d
lea r9, [0x140287ba2]
movzx r10d, word [r9]
cmp r10w, word [rdx + r8*2]
jne 0x14016b852
add r9, 2
inc r8
cmp rcx, r8
jne 0x14016b947
lea r8, [0x140287b30]
jmp 0x14016b869
mov ecx, 0x19
xor r8d, r8d
lea r9, str.CHROME_CRASHPAD_PIPE_NAME
movzx r9d, word [r8 + r9]
cmp r9w, word [rdx + r8]
jne 0x14016b99e
add r8, 2
dec rcx
jne 0x14016b976
lea r8, str.CHROME_CRASHPAD_PIPE_NAME
jmp 0x14016b869
mov r8, r14
jmp 0x14016b869
mov r8, r14
cmp rcx, 0x19
jne 0x14016b869
jmp 0x14016b96e
xor r8d, r8d
lea r9, str.LOCALAPPDATA
movzx r10d, word [r9]
cmp r10w, word [rdx + r8*2]
jne 0x14016b9a6
add r9, 2
inc r8
cmp rcx, r8
jne 0x14016b9bf
lea r8, str.LOCALAPPDATA
jmp 0x14016b869
xor eax, eax
xor ecx, ecx
xor r8d, r8d
jmp 0x14016ba64
lea r12, [rsp + 0xa0]
mov rcx, r12
xor edx, edx
call fcn.1401674b0
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0xd0], rax
movaps xmm0, xmmword [r12]
movaps xmmword [rsp + 0xc0], xmm0
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov r15, qword [rsp + 0x90]
mov rdx, qword [r15]
mov r8b, byte [rsp + 0xd7]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xc8]
mov r12, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
mov r14, qword [rsp + 0x78]
mov r13, qword [rsp + 0x70]
mov r9b, byte [rsp + 0x67]
mov rsi, qword [rsp + 0x1b8]
mov dil, r9b
shl edi, 0x13
or edi, 0x40c
movzx edx, byte [rdx + 0x20]
xor r9d, r9d
lea r10, [rsp + 0xe0]
mov qword [r10 + 0x10], r9
add r13, 0x38
mov r11d, r8d
and r11b, 0x7f
test r8b, r8b
movzx r8d, r11b
cmovs r8, rcx
movaps xmmword [r10], xmm6
lea r11, [rsp + 0xc0]
cmovs r11, rax
test r8, r8
cmove r11, r8
mov rcx, qword [rbx + 0x18]
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x38], r11
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], r9
mov rdx, r14
mov r8, r12
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
test eax, eax
je 0x14016bd78
xorps xmm0, xmm0
lea r14, [rsp + 0xa0]
movaps xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
lea rdx, [rsp + 0xe0]
mov rcx, r14
call fcn.140033460
mov rax, qword [r14 + 8]
lea rcx, [rsp + 0x98]
mov qword [rcx], rax
mov rdx, qword [rbx + 0x20]
call qword [sym.imp.ADVAPI32.dll_SetThreadToken]
test eax, eax
je 0x14016bd4c
mov rdx, qword [rsp + 0xa8]
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r14, [rsp + 0x100]
mov qword [r14 + 0x10], rax
movaps xmm0, xmmword [0x14026dc70]
movaps xmmword [r14], xmm0
mov rcx, r14
mov r8b, 1
xor r9d, r9d
call fcn.140046ed0
cmp byte [r14], 0
je 0x14016bd2c
lea r14, [rsp + 0x108]
mov rcx, r14
call fcn.140046fa0
mov ebp, eax
cmp byte [r14 - 8], 0
je 0x14016bb9e
mov rcx, r14
call fcn.1400448d0
test bpl, bpl
jne 0x14016bd2c
mov r14, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0xa0]
mov rdx, r14
call fcn.1400364a0
test al, al
je 0x14016bd56
lea rdx, [r14 + 8]
mov rcx, qword [rsp + 0xa8]
call fcn.1400364a0
test al, al
je 0x14016bd56
mov eax, dword [rsp + 0xb0]
mov dword [r14 + 0x10], eax
mov eax, dword [rsp + 0xb4]
mov dword [r14 + 0x14], eax
mov rcx, qword [rsp + 0xa0]
call fcn.1400471a0
mov qword [rbx + 0x40], rax
test rax, rax
je 0x14016bdae
lea rcx, [0x140000000]
cmp rax, rcx
jne 0x14016bd94
mov rsi, qword [rsp + 0xa0]
mov qword [rsp + 0xa0], 0
lea rax, [rsi + 1]
cmp rax, 2
jb 0x14016bc43
call fcn.1400eba00
mov qword [rsp + 0x100], rsi
mov rsi, qword [rsp + 0xa8]
mov qword [rsp + 0xa8], 0
lea rax, [rsi + 1]
cmp rax, 2
jb 0x14016bc6e
call fcn.1400eba00
lea rdx, [rsp + 0x100]
mov qword [rdx + 8], rsi
mov rax, qword [rsp + 0xb0]
mov qword [rdx + 0x10], rax
mov qword [rsp + 0xb0], 0
mov rcx, rbx
call fcn.140033460
xor ebx, ebx
lea rcx, [rsp + 0xa0]
call fcn.140041df0
cmp byte [rsp + 0xd7], 0
jns 0x14016bcc0
mov rcx, qword [rsp + 0xc0]
call fcn.140184dbc
test r12, r12
je 0x14016bcd7
lea rcx, fcn.1400f2ed0
mov rdx, r12
xor r8d, r8d
call fcn.1400ef740
mov rdi, qword [r15]
mov qword [r15], 0
test rdi, rdi
je 0x14016bcf6
mov rcx, rdi
call fcn.140047090
mov rcx, rdi
call fcn.140184dbc
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
call fcn.1401879f0
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsi], 0x542
mov rcx, qword [rsp + 0xa0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ebx, 0x15
jmp 0x14016bc9c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi], eax
jmp 0x14016bd32
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi], eax
mov rcx, qword [rsp + 0xa0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ebx, 0x17
jmp 0x14016bc9c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi], eax
mov ebx, 0x12
jmp 0x14016bca9
mov ebx, 0x46
jmp 0x14016bcc0
mov rcx, qword [rsp + 0xa0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ebx, 0x41
jmp 0x14016bc9c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi], eax
mov rcx, qword [rsp + 0xa0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ebx, 0x2b
jmp 0x14016bc9c
int3
jns 0x14016b8c2
int3
mov rcx, qword [rsp + 0xe0]
call fcn.140184dbc
jmp 0x14016b7b4
lea rax, str.string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__len___static_cast_size_type__numeric_limits_difference_type_::max___
mov r8d, 0x13a
call fcn.1401c2f20
lea rax, str.string_view::string_view__CharT___size_t_:_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__len__0____s___nullptr
mov r8d, 0x13c
call fcn.1401c2f20
lea rcx, fcn.1400f2ed0
xor r8d, r8d
call fcn.1400ef740
jmp 0x14016b64a