Function at 0x14000f694
Capabilities:
Set environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
and dword [rsp + 0x60], 0
mov r12d, edx
mov r15, rcx
test rcx, rcx
jne 0x14000f6e4
call fcn.140006610
and qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov dword [rax], 0x16
call fcn.140006688
jmp 0x14000f7c9
mov rsi, qword [rcx]
test rsi, rsi
je 0x14000f7be
mov edx, 0x3d
mov rcx, rsi
call fcn.140010008
mov r13, rax
test rax, rax
je 0x14000f7be
cmp rsi, rax
je 0x14000f7be
mov rdi, qword [0x140019690]
mov r14d, 8
cmp rdi, qword [0x1400196d8]
mov bpl, byte [rax + 1]
jne 0x14000f79e
xor ecx, ecx
mov rbx, rdi
mov rax, rdi
test rdi, rdi
je 0x14000f797
cmp qword [rdi], rcx
je 0x14000f749
add rax, r14
inc ecx
cmp qword [rax], 0
jne 0x14000f73e
lea eax, [rcx + 1]
mov rdx, r14
movsxd rcx, eax
call fcn.14000a160
mov r14, rax
mov rdi, rax
test rax, rax
jne 0x14000f76a
lea ecx, [rax + 9]
call fcn.1400047dc
mov rax, qword [rbx]
test rax, rax
je 0x14000f78d
sub rbx, r14
mov rcx, rax
call fcn.14000ff8c
mov qword [r14], rax
add r14, 8
mov rax, qword [rbx + r14]
test rax, rax
jne 0x14000f775
and qword [r14], 0
mov r14d, 8
mov qword [0x140019690], rdi
test rdi, rdi
jne 0x14000f833
test r12d, r12d
je 0x14000f7e9
cmp qword [0x140019698], rdi
je 0x14000f7e9
call fcn.14000f324
test eax, eax
je 0x14000f82c
call fcn.140006610
mov dword [rax], 0x16
or eax, 0xffffffff
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
test bpl, bpl
jne 0x14000f7f2
xor eax, eax
jmp 0x14000f7cc
mov rcx, r14
call fcn.140006ca0
mov qword [0x140019690], rax
test rax, rax
je 0x14000f7c9
and qword [rax], 0
cmp qword [0x140019698], 0
jne 0x14000f82c
mov rcx, r14
call fcn.140006ca0
mov qword [0x140019698], rax
test rax, rax
je 0x14000f7c9
and qword [rax], 0
mov rdi, qword [0x140019690]
mov r14, rdi
test rdi, rdi
je 0x14000f7c9
mov rax, qword [rdi]
mov ecx, r13d
sub ecx, esi
mov rbx, rdi
test rax, rax
je 0x14000f88a
movsxd rdi, ecx
mov r8, rdi
mov rdx, rax
mov rcx, rsi
call fcn.14000f40c
test eax, eax
jne 0x14000f877
mov rax, qword [rbx]
cmp byte [rdi + rax], 0x3d
je 0x14000f920
cmp byte [rdi + rax], 0
je 0x14000f920
add rbx, 8
mov rax, qword [rbx]
test rax, rax
jne 0x14000f84e
mov rdi, qword [0x140019690]
sub rbx, rdi
sar rbx, 3
neg ebx
test ebx, ebx
js 0x14000f93c
cmp qword [r14], 0
je 0x14000f93c
movsxd rax, ebx
lea r14, [r14 + rax*8]
mov rcx, qword [r14]
cmp rcx, qword [0x1400196d8]
jb 0x14000f8c1
cmp rcx, qword [0x14001b220]
jbe 0x14000f8cd
call fcn.140006da8
mov rdi, qword [0x140019690]
test bpl, bpl
jne 0x14000f933
cmp qword [r14], 0
je 0x14000f8f1
mov rcx, qword [r14 + 8]
inc ebx
mov qword [r14], rcx
lea r14, [r14 + 8]
test rcx, rcx
jne 0x14000f8d8
mov rdi, qword [0x140019690]
movsxd rdx, ebx
movabs rax, 0x1fffffffffffffff
cmp rdx, rax
jae 0x14000f99e
mov r8d, 8
mov rcx, rdi
call fcn.14000d9d4
test rax, rax
je 0x14000f99e
jmp 0x14000f997
mov rdi, qword [0x140019690]
sub rbx, rdi
sar rbx, 3
jmp 0x14000f893
mov qword [r14], rsi
and qword [r15], 0
jmp 0x14000f99e
test bpl, bpl
je 0x14000fa58
mov eax, ebx
cdq
mov ecx, eax
xor ecx, edx
sub ecx, edx
lea eax, [rcx + 2]
cmp eax, ecx
jl 0x14000f7c9
movsxd rbx, ecx
movabs rax, 0x1fffffffffffffff
lea r8, [rbx + 2]
cmp r8, rax
jae 0x14000f7c9
mov edx, 8
mov rcx, rdi
call fcn.14000d9d4
test rax, rax
je 0x14000f7c9
and qword [rax + rbx*8 + 8], 0
mov qword [rax + rbx*8], rsi
and qword [r15], 0
mov qword [0x140019690], rax
test r12d, r12d
je 0x14000fa3e
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rsi + rcx], 0
jne 0x14000f9ab
add rcx, 2
mov edx, 1
call fcn.14000a160
mov rbx, rax
test rax, rax
je 0x14000fa3e
or rdx, 0xffffffffffffffff
inc rdx
cmp byte [rsi + rdx], 0
jne 0x14000f9ce
add rdx, 2
mov r8, rsi
mov rcx, rbx
call fcn.140009dd8
test eax, eax
je 0x14000f9ff
and qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140006694
mov al, bpl
mov rcx, rbx
sub rcx, rsi
add rcx, r13
mov byte [rcx], 0
inc rcx
neg al
sbb rdx, rdx
and rdx, rcx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
test eax, eax
jne 0x14000fa36
or dword [rsp + 0x60], 0xffffffff
call fcn.140006610
mov dword [rax], 0x2a
mov rcx, rbx
call fcn.140006da8
test bpl, bpl
jne 0x14000fa4f
mov rcx, rsi
call fcn.140006da8
and qword [r15], 0
mov eax, dword [rsp + 0x60]
jmp 0x14000f7cc
mov rcx, rsi
call fcn.140006da8
and qword [r15], 0
jmp 0x14000f7ee