Function at 0x14011e6a8
Capabilities:
Set environment variable

Disassembly:
test rcx, rcx
je 0x14011e94a
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
xor r14d, r14d
mov dil, dl
mov rbx, rcx
mov esi, 0x208
cmp dword [rcx + 8], r14d
je 0x14011e72b
cmp dword [rcx], 1
je 0x14011e72b
mov ecx, dword [rcx + 4]
test ecx, ecx
je 0x14011e6fb
sub ecx, 1
je 0x14011e6f4
cmp ecx, 1
jne 0x14011e72b
lea eax, [rsi + 0x14]
jmp 0x14011e710
mov eax, 0x424
jmp 0x14011e710
call fcn.140116890
neg al
mov eax, 0x21c
sbb rcx, rcx
and rcx, rsi
add rax, rcx
lea rdx, [rbx + rax]
test rdx, rdx
je 0x14011e72b
cmp word [rdx], r14w
je 0x14011e72b
lea rcx, str.ComSpec
call fcn.14011e5c0
cmp dword [rbx + 0xc], r14d
je 0x14011e933
test dil, dil
jne 0x14011e933
lea r15, [rbx + 0x62c]
cmp word [r15], r14w
je 0x14011e933
lea r13, [rbx + 0x834]
cmp word [r13], r14w
je 0x14011e933
lea rcx, [0x14017f608]
call fcn.14011adb8
mov rdi, rax
test rax, rax
jne 0x14011e786
xor edx, edx
lea rcx, [0x1401759d0]
call fcn.1401145e0
mov rdi, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
xor edx, edx
mov rcx, rdi
mov ebp, eax
call fcn.1401145e0
mov rcx, rsi
mov qword [rsp + 0xa8], rax
mov r12, rax
call fcn.140113e8c
mov rsi, rax
test r12, r12
je 0x14011e919
test rax, rax
je 0x14011e911
mov edx, ebp
mov byte [rsp + 0x90], r14b
mov rcx, r12
call qword [sym.imp.USER32.dll_CharUpperBuffW]
xor edx, edx
mov ebp, edx
test ebp, ebp
je 0x14011e7f2
cmp ebp, 1
jne 0x14011e815
test byte [rbx + 0xc], 2
je 0x14011e8e1
mov r14, r13
jmp 0x14011e815
test byte [rbx + 0xc], 1
je 0x14011e8e1
mov rdx, r15
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
xor edx, edx
test eax, eax
je 0x14011e8e1
mov r14, r15
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8d, 0x104
mov rdx, r14
mov rcx, rsi
mov dword [rsp + 0xa0], eax
call qword [sym.imp.KERNEL32.dll_lstrcpynW]
mov edx, dword [rsp + 0xa0]
mov rcx, rsi
call qword [sym.imp.USER32.dll_CharUpperBuffW]
mov rdx, rsi
mov rcx, r12
call fcn.14012ddec
xor edx, edx
test rax, rax
je 0x14011e887
movsxd rcx, dword [rsp + 0xa0]
lea rcx, [rax + rcx*2]
cmp word [rcx], 0x3b
je 0x14011e8e1
cmp word [rcx], dx
je 0x14011e8e1
mov rdx, rsi
call fcn.14012ddec
movsxd rcx, dword [rsp + 0xa0]
xor edx, edx
test rax, rax
jne 0x14011e861
mov qword [rsp + 0x40], rdx
xor r9d, r9d
mov qword [rsp + 0x38], rdx
mov r8, rdi
mov qword [rsp + 0x30], rdx
mov rcx, r14
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rdx
lea rdx, [0x14019deec]
call fcn.1401146e0
xor edx, edx
mov r12, rax
test rax, rax
je 0x14011e8ec
test rdi, rdi
je 0x14011e8ce
mov rcx, rdi
call fcn.140113e18
xor edx, edx
mov rdi, r12
mov byte [rsp + 0x90], 1
mov r12, qword [rsp + 0xa8]
inc ebp
cmp ebp, 1
jle 0x14011e7da
xor r14d, r14d
cmp byte [rsp + 0x90], r14b
je 0x14011e909
mov rdx, rdi
lea rcx, [0x14017f608]
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov r12, qword [rsp + 0xa8]
mov rcx, r12
call fcn.140113e18
test rsi, rsi
je 0x14011e926
mov rcx, rsi
call fcn.140113e18
test rdi, rdi
je 0x14011e933
mov rcx, rdi
call fcn.140113e18
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret