Function at 0x140003000
Capabilities:
Query environment variable
Set environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov r14, rdx
movsxd rbp, ecx
lea r12, str.PATH
xor r8d, r8d
xor edx, edx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
or rsi, 0xffffffffffffffff
mov r13d, 2
mov edi, eax
test eax, eax
je 0x1400030d6
mov eax, r13d
mul rdi
cmovo rax, rsi
mov rcx, rax
call fcn.140005120
mov r8d, edi
mov rcx, r12
mov rdx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea ecx, [rdi - 1]
cmp ecx, eax
jne 0x1400030ce
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov esi, eax
test eax, eax
je 0x1400030ca
lea rcx, [r13 - 3]
mov eax, r13d
mul rsi
cmovo rax, rcx
mov rcx, rax
call fcn.140005120
mov r8d, esi
mov rcx, rbx
mov rdx, rax
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
test eax, eax
je 0x1400030c2
mov rdx, rdi
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov rcx, rdi
call fcn.14000581c
or rsi, 0xffffffffffffffff
mov rcx, rbx
call fcn.14000581c
lea rcx, [0x1400167a4]
call qword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
lea r11d, [rbp + 1]
mov eax, 8
movsxd r15, r11d
mul r15
cmovo rax, rsi
mov rcx, rax
call fcn.140005120
mov rdi, rax
test rax, rax
jne 0x140003110
mov eax, 0x7f
jmp 0x140003340
xor r13d, r13d
test ebp, ebp
jle 0x1400032ae
mov r12, rax
sub r14, rax
mov rbx, qword [r14 + r12]
mov rcx, rbx
call fcn.140005558
mov rsi, rax
lea ecx, [rax + rax*2 + 1]
movsxd rcx, ecx
call fcn.140005120
mov r11, rax
test rax, rax
je 0x14000328d
mov rdx, rax
mov eax, esi
lea r9, [rbx + rax*2]
cmp rbx, r9
jae 0x14000328a
movzx ecx, word [rbx]
mov eax, 0xff80
test ax, cx
jne 0x140003171
mov byte [rdx], cl
inc rdx
jmp 0x140003274
mov eax, 0xf800
test ax, cx
jne 0x140003198
movzx eax, cx
and cl, 0x3f
shr ax, 6
or cl, 0x80
or al, 0xc0
mov byte [rdx], al
mov byte [rdx + 1], cl
add rdx, 2
jmp 0x140003274
movzx r8d, cx
mov r10d, 0xd800
mov eax, r8d
and eax, 0xfffff800
cmp eax, r10d
je 0x1400031d6
movzx eax, cx
shr ax, 0xc
or al, 0xe0
mov byte [rdx], al
movzx eax, cx
and cl, 0x3f
shr ax, 6
and al, 0x3f
or al, 0x80
or cl, 0x80
mov byte [rdx + 1], al
mov byte [rdx + 2], cl
jmp 0x140003270
mov esi, 0xfffffc00
and r8d, esi
cmp r8d, r10d
jne 0x140003267
add rbx, 2
cmp rbx, r9
je 0x14000327d
movzx r8d, word [rbx]
mov eax, r8d
and eax, esi
cmp eax, 0xdc00
jne 0x140003254
movzx ecx, cx
mov eax, 0x3ff
mov r10b, 0x80
and ecx, eax
and r8d, eax
add ecx, 0x40
shl ecx, 0xa
add ecx, r8d
mov r8b, 0x3f
mov eax, ecx
shr eax, 0x12
or al, 0xf0
mov byte [rdx], al
mov eax, ecx
shr eax, 0xc
and al, r8b
or al, r10b
mov byte [rdx + 1], al
mov eax, ecx
and cl, r8b
shr eax, 6
or cl, r10b
and al, r8b
or al, r10b
add rdx, 4
mov byte [rdx - 2], al
mov byte [rdx - 1], cl
jmp 0x140003274
mov word [rdx], 0xbfef
mov byte [rdx + 2], 0xbd
add rdx, 3
sub rbx, 2
jmp 0x140003274
mov word [rdx], 0xbfef
mov byte [rdx + 2], 0xbd
add rdx, 3
add rbx, 2
jmp 0x140003151
mov word [rdx], 0xbfef
mov byte [rdx + 2], 0xbd
add rdx, 3
mov byte [rdx], 0
mov qword [r12], r11
test r11, r11
je 0x140003106
inc r13d
add r12, 8
cmp r13d, ebp
jl 0x140003121
or rsi, 0xffffffffffffffff
and qword [rdi + rbp*8], 0
mov eax, 8
mov rbx, rbp
mul r15
cmovo rax, rsi
mov rcx, rax
call fcn.140005120
mov rsi, rax
test rax, rax
jne 0x1400032f4
test ebp, ebp
je 0x1400032e7
dec rbx
mov rcx, qword [rdi + rbx*8]
call fcn.14000581c
test rbx, rbx
jne 0x1400032d6
mov rcx, rdi
call fcn.14000581c
jmp 0x140003106
test ebp, ebp
jle 0x140003314
mov rdx, rdi
mov rcx, rax
mov r8, rbx
sub rdx, rax
mov rax, qword [rdx + rcx]
mov qword [rcx], rax
add rcx, 8
dec r8
jne 0x140003304
mov rdx, rdi
mov ecx, ebp
call fcn.140003bf4
mov rcx, rdi
mov ebp, eax
jmp 0x14000332c
dec rbx
mov rcx, qword [rsi + rbx*8]
call fcn.14000581c
test rbx, rbx
jne 0x140003325
mov rcx, rsi
call fcn.14000581c
mov eax, ebp
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret