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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm6
mov r13, rdx
mov r12d, ecx
mov rax, qword [0x140042028]
xor rax, rsp
mov qword [rsp + 0x78], rax
lea rcx, str.PATH
xor edx, edx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x140017625
mov ebp, eax
mov ecx, eax
add rcx, rcx
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov rdi, rax
mov esi, ebp
dec esi
lea rcx, str.PATH
mov rdx, rax
mov r8d, ebp
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp esi, eax
jne 0x14001761c
mov rcx, rdi
xor edx, edx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov r15d, eax
lea eax, [r15 - 1]
cmp eax, 0x7ffe
ja 0x14001761c
mov ecx, r15d
add rcx, rcx
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r14, rax
mov rcx, rdi
mov rdx, rax
mov r8d, r15d
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
test eax, eax
je 0x140017613
lea rcx, str.PATH
mov rdx, r14
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov rcx, r14
call qword [sym.imp.mozglue.dll_free]
mov rcx, rdi
call qword [sym.imp.mozglue.dll_free]
lea rcx, [0x14003bb96]
call qword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
lea eax, [r12 + 1]
shl rax, 3
cmp r12d, 0xffffffff
mov rsi, 0xffffffffffffffff
cmovge rsi, rax
mov rcx, rsi
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r15, rax
movsxd rdi, r12d
test r12d, r12d
jle 0x140017719
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], r12
mov esi, r12d
xor ebp, ebp
xorps xmm6, xmm6
mov rbx, r15
mov r15, qword [r13 + rbp*8]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
mov r12, rax
lea r14, [rax + rax*2]
lea rcx, [rax + rax*2]
add rcx, 2
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov rdi, r13
mov r13, rax
inc r14d
movups xmmword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rax
mov ecx, 0xfde9
xor edx, edx
mov r8, r15
mov r15, rbx
mov r9d, r12d
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cdqe
mov byte [r13 + rax], 0
mov qword [rbx + rbp*8], r13
mov r13, rdi
inc rbp
cmp rsi, rbp
jne 0x140017679
mov qword [r15 + rsi*8], 0
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov rbx, rax
lea r8, [rsi*8]
mov rcx, rax
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
mov r12, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
jmp 0x140017730
mov qword [r15 + rdi*8], 0
mov rcx, rsi
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov rbx, rax
mov rsi, rdi
lea r14, [rsp + 0x60]
mov qword [r14], 0
mov rcx, r14
call sub.xul.dll_XRE_GetBootstrap
mov r14, qword [r14]
mov rcx, qword [r15 + rdi*8 - 8]
call qword [sym.imp.mozglue.dll_void___cdecl_mozilla::SetGeckoProcessType_char_const____ptr64_]
call qword [sym.imp.mozglue.dll_void___cdecl_CrashReporter::RegisterRuntimeExceptionModule_void_]
mov rax, qword [sym.imp.mozglue.dll_enum_GeckoProcessType_mozilla::startup::sChildProcessType]
mov eax, dword [rax]
add eax, 0xfffffffc
mov ecx, 1
cmp eax, 7
ja 0x14001777a
mov eax, eax
lea rcx, [0x1400391e0]
mov ecx, dword [rcx + rax*4]
call qword [sym.imp.mozglue.dll_void___cdecl_DllBlocklist_Initialize_unsigned_int_]
test r12d, r12d
jle 0x14001787a
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 0
cmp qword [sym.plugin_container.exe_g_shared_section], 0
jne 0x140017884
lea ebp, [r12 - 1]
mov eax, ebp
mov rdx, qword [r15 + rax*8]
mov rax, qword [r14]
mov rax, qword [rax + 0x50]
mov rcx, r14
call qword [0x140047010]
mov rax, qword [r14]
mov rax, qword [rax + 0x48]
mov rcx, r14
call qword [0x140047010]
cmp eax, 9
je 0x1400178a4
mov rax, qword [r14]
mov rax, qword [rax + 0x58]
lea r9, [rsp + 0x60]
mov rcx, r14
mov edx, ebp
mov r8, r15
call qword [0x140047010]
mov ebp, eax
shr ebp, 0x1f
call qword [sym.imp.mozglue.dll_void___cdecl_CrashReporter::UnregisterRuntimeExceptionModule_void_]
test r14, r14
je 0x140017816
mov rax, qword [r14]
mov rax, qword [rax + 8]
mov rcx, r14
call qword [0x140047010]
mov rcx, r15
call qword [sym.imp.mozglue.dll_free]
test r12d, r12d
je 0x140017846
dec rsi
mov rdi, qword [sym.imp.mozglue.dll_free]
mov rcx, qword [rbx + rsi*8]
test rcx, rcx
je 0x140017839
call rdi
mov rax, rsi
dec rax
test esi, esi
mov rsi, rax
jne 0x14001782e
mov rcx, rbx
call qword [sym.imp.mozglue.dll_free]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14001bf90
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x80]
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebp, 3
jmp 0x1400177fb
call fcn.1400371e0
mov qword [rsp + 0x60], rax
test rax, rax
je 0x1400178b3
lea rax, [0x1400203f0]
mov qword [rsp + 0x68], rax
jmp 0x1400177a8
call fcn.14001e680
mov qword [rsp + 0x70], rax
jmp 0x1400177dc
mov ebp, 1
jmp 0x1400177fb