Function at 0x18001c510
Capabilities:
Get system information on windows
Query environment variable

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
mov eax, dword [0x1800ccf04]
mov ecx, dword [0x1800cb4e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jle 0x18001c5a7
lea rcx, [0x1800ccf04]
call fcn.180060ac0
cmp dword [0x1800ccf04], 0xffffffff
jne 0x18001c5a7
lea rcx, str.MOZ_BASE_PROFILER_VERBOSE_LOGGING
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
jne 0x18001c905
lea rcx, str.MOZ_BASE_PROFILER_DEBUG_LOGGING
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
jne 0x18001c90f
lea rcx, str.MOZ_BASE_PROFILER_LOGGING
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
xor ecx, ecx
test rax, rax
setne cl
lea eax, [rcx + rcx*2]
mov dword [0x1800ccf00], eax
lea rcx, [0x1800ccf04]
call fcn.180060b40
cmp dword [0x1800ccf00], 3
jge 0x18001c76f
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [0x1800ccefc]
jne 0x18001c793
cmp qword [0x1800cd020], 0
je 0x18001c7ac
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
lea rcx, [0x1800ccfe0]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov dword [0x1800cd010], esi
cmp qword [0x1800cd028], 0
jne 0x18001c7c5
xor esi, esi
mov rdi, qword [0x1800cd020]
test rdi, rdi
je 0x18001c6dc
mov rax, qword [rdi + 0x98]
cmp rax, 0x10
jae 0x18001c7f3
mov qword [rdi + 0x90], 0
mov qword [rdi + 0x98], 0xf
mov byte [rdi + 0x80], 0
mov rax, qword [rdi + 0x78]
cmp rax, 0x10
jae 0x18001c82a
mov qword [rdi + 0x70], 0
mov qword [rdi + 0x78], 0xf
mov byte [rdi + 0x60], 0
mov rcx, qword [rdi + 0x48]
cmp rcx, 8
jne 0x18001c85e
mov rbx, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
test rax, rax
jg 0x18001c869
cmp rbx, 8
jne 0x18001c88b
mov rbx, qword [rdi + 0x18]
mov rax, qword [rdi + 0x20]
test rax, rax
jle 0x18001c6c5
lea r15, [rbx + rax*8]
mov r14, qword [rbx]
mov qword [rbx], 0
test r14, r14
je 0x18001c6b8
mov rcx, r14
call fcn.18001c930
mov rcx, r14
call sym.mozglue.dll__aligned_free
add rbx, 8
cmp rbx, r15
jb 0x18001c699
mov rbx, qword [rdi + 0x18]
cmp rbx, 8
je 0x18001c6d4
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rdi
call sym.mozglue.dll__aligned_free
mov qword [0x1800cd020], 0
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 8], 0
je 0x18001c899
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x18], 0
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x20], 0
mov dword [0x1800cd010], 0
lea rcx, [0x1800ccfe0]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test rsi, rsi
jne 0x18001c8d3
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__getpid]
lea rcx, str._I__d__d__profiler_shutdown_n
mov edx, eax
mov r8d, esi
call fcn.180084b80
jmp 0x18001c5b4
lea rax, str.MOZ_RELEASE_ASSERT_profiler_is_main_thread___
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
lea rax, str.MOZ_RELEASE_ASSERT_CorePS::Exists___
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
lea rcx, str.MOZ_PROFILER_SHUTDOWN
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x18001c7e6
cmp byte [rax], 0
je 0x18001c7e6
mov rcx, rax
mov dl, 1
call fcn.18008f750
call fcn.18008fb10
mov rsi, rax
jmp 0x18001c5ff
mov rcx, qword [rdi + 0x80]
add rax, 0xfffffffffffff001
cmp rax, 0xffffffffffffefff
ja 0x18001c820
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x18001c923
mov rcx, rax
call sym.mozglue.dll__aligned_free
jmp 0x18001c620
mov rcx, qword [rdi + 0x60]
add rax, 0xfffffffffffff001
cmp rax, 0xffffffffffffefff
ja 0x18001c854
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x18001c923
mov rcx, rax
call sym.mozglue.dll__aligned_free
jmp 0x18001c64b
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x18001c66d
lea r14, [rbx + rax*8]
mov rcx, qword [rbx]
test rcx, rcx
jne 0x18001c919
add rbx, 8
cmp rbx, r14
jb 0x18001c86d
mov rbx, qword [rdi + 0x30]
jmp 0x18001c67e
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x18001c688
call fcn.180060de8
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x18], 0
cmp byte [rax + 8], 0
jne 0x18001c725
call fcn.180060de8
jmp 0x18001c725
mov rcx, qword [rsi + 0x10]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsi + 0x10]
cmp rcx, 0xffffffffffffffff
je 0x18001c8f2
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
jmp sym.mozglue.dll__aligned_free
mov eax, 5
jmp 0x18001c595
mov eax, 4
jmp 0x18001c595
call sym.mozglue.dll_public:_void___cdecl_mozilla::baseprofiler::PageInformation::Release_void_const___ptr64
jmp 0x18001c879
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3