Function at 0x1401f77e0
Capabilities:
Set environment variable

Disassembly:
mov qword [rsp + 0x18], rbx
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
xor esi, esi
mov ebx, edx
mov r15, rcx
test rcx, rcx
jne 0x1401f6d88
call fcn.1401a7b24
mov dword [rax], 0x16
or rax, 0xffffffffffffffff
jmp 0x1401f7041
mov edx, 0x3d
mov rdi, r15
call fcn.14019f124
mov r13, rax
test rax, rax
je 0x1401f7020
cmp rax, r15
je 0x1401f7020
mov r14, qword [0x1402a8340]
cmp r14, qword [0x1402a8358]
mov bpl, byte [rax + 1]
mov byte [rsp + 0x70], bpl
jne 0x1401f6dd5
mov rcx, r14
call fcn.1401f7390
mov r14, rax
mov qword [0x1402a8340], rax
mov r12d, 1
test r14, r14
jne 0x1401f6e99
test ebx, ebx
je 0x1401f6e27
cmp qword [0x1402a8348], rsi
je 0x1401f6e27
call fcn.1401e3774
test rax, rax
je 0x1401f7020
mov r14, qword [0x1402a8340]
cmp r14, qword [0x1402a8358]
jne 0x1401f6e94
mov rcx, r14
call fcn.1401f7390
mov r14, rax
mov qword [0x1402a8340], rax
jmp 0x1401f6e94
test bpl, bpl
je 0x1401f702f
mov edx, 8
mov rcx, r12
call fcn.1401dc234
xor ecx, ecx
mov qword [0x1402a8340], rax
call fcn.1401de538
mov r14, qword [0x1402a8340]
test r14, r14
jne 0x1401f6e60
or rbp, 0xffffffffffffffff
jmp 0x1401f7031
cmp qword [0x1402a8348], rsi
jne 0x1401f6e94
mov edx, 8
mov rcx, r12
call fcn.1401dc234
xor ecx, ecx
mov qword [0x1402a8348], rax
call fcn.1401de538
cmp qword [0x1402a8348], rsi
je 0x1401f6e57
mov r14, qword [0x1402a8340]
test r14, r14
je 0x1401f6e57
mov r12, r13
mov rbx, r14
sub r12, r15
cmp qword [r14], rsi
je 0x1401f6edb
mov rdx, qword [rbx]
mov r8, r12
mov rcx, r15
call fcn.1402012a8
test eax, eax
jne 0x1401f6ec9
mov rax, qword [rbx]
cmp byte [r12 + rax], 0x3d
je 0x1401f6ed2
cmp byte [r12 + rax], sil
je 0x1401f6ed2
add rbx, 8
cmp qword [rbx], rsi
jmp 0x1401f6ea5
sub rbx, r14
sar rbx, 3
jmp 0x1401f6ee5
sub rbx, r14
sar rbx, 3
neg rbx
test rbx, rbx
js 0x1401f6f41
cmp qword [r14], rsi
je 0x1401f6f41
mov rcx, qword [r14 + rbx*8]
call fcn.1401de538
test bpl, bpl
je 0x1401f6f12
mov qword [r14 + rbx*8], r15
jmp 0x1401f6f9b
mov rax, qword [r14 + rbx*8 + 8]
mov qword [r14 + rbx*8], rax
inc rbx
cmp qword [r14 + rbx*8], rsi
jne 0x1401f6f06
mov r8d, 8
mov rdx, rbx
mov rcx, r14
call fcn.1401f77f0
xor ecx, ecx
mov rbx, rax
call fcn.1401de538
test rbx, rbx
je 0x1401f6f9e
mov qword [0x1402a8340], rbx
jmp 0x1401f6f9e
test bpl, bpl
je 0x1401f7033
neg rbx
lea rdx, [rbx + 2]
cmp rdx, rbx
jae 0x1401f6f5f
or rbp, 0xffffffffffffffff
jmp 0x1401f7035
movabs rax, 0x1fffffffffffffff
cmp rdx, rax
jae 0x1401f6f56
mov r8d, 8
mov rcx, r14
call fcn.1401f77f0
xor ecx, ecx
mov r14, rax
call fcn.1401de538
test r14, r14
je 0x1401f6f56
mov qword [r14 + rbx*8], r15
mov qword [r14 + rbx*8 + 8], rsi
mov qword [0x1402a8340], r14
mov rdi, rsi
cmp dword [rsp + 0x78], esi
je 0x1401f7037
or rbp, 0xffffffffffffffff
mov r14, rbp
inc r14
cmp byte [r15 + r14], sil
jne 0x1401f6faf
mov edx, 1
lea rcx, [r14 + 2]
call fcn.1401dc234
mov rbx, rax
test rax, rax
je 0x1401f7016
mov r8, r15
lea rdx, [r14 + 2]
mov rcx, rax
call fcn.1401c0fcc
test eax, eax
jne 0x1401f7059
mov rax, rbx
lea rcx, [r13 + 1]
sub rax, r15
add rcx, rax
neg byte [rsp + 0x70]
sbb rdx, rdx
and rdx, rcx
mov byte [rcx - 1], sil
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_SetEnvironmentVariableA]
test eax, eax
jne 0x1401f7016
call fcn.1401a7b24
mov esi, ebp
mov dword [rax], 0x2a
mov rcx, rbx
call fcn.1401de538
jmp 0x1401f7037
call fcn.1401a7b24
or rsi, 0xffffffffffffffff
mov dword [rax], 0x16
mov ebp, esi
mov esi, ebp
mov ebp, esi
mov esi, ebp
mov rcx, rdi
call fcn.1401de538
mov eax, esi
mov rbx, qword [rsp + 0x80]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1401a79c8
int3
jmp 0x1401f6d50