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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
mov rdi, rcx
mov rax, qword [0x1800cb028]
xor rax, rsp
mov qword [rsp + 0xd0], rax
xor eax, eax
mov dword [rsp + 0x43], eax
mov dword [rsp + 0x40], eax
lea rax, [rcx - 1]
test rcx, rax
sete al
test rcx, rcx
setne cl
test cl, al
je 0x1800729a8
mov rsi, rdx
cmp rdi, 0x1000
ja 0x1800724e3
mov eax, dword [0x1800cb774]
mov ecx, dword [0x1800cb4e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x180072604
cmp rsi, 0x1000
ja 0x1800724e3
cmp byte [0x1800cb770], 0
je 0x1800724e3
mov rax, qword [0x1800cb648]
mov eax, dword [rax + 0x14810]
cmp eax, 1
je 0x1800729eb
cmp dword [0x1800cb718], 0
je 0x18007273f
cmp rsi, 1
adc rsi, 0
cmp rdi, 9
mov ebx, 8
cmovae rbx, rdi
cmp rsi, 0x1f1
jb 0x18007257a
mov rdi, qword [0x1800cb568]
lea rax, [rbx + rsi]
dec rax
mov rdx, rbx
neg rdx
and rdx, rax
cmp rdx, rsi
jb 0x180072bf1
cmp rdx, 0x1001
jae 0x1800729c1
cmp rdx, 0xf00
ja 0x1800729db
mov rcx, rdi
call fcn.18003a670
mov rbx, rax
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.180062020
mov rax, rbx
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 8], 0
je 0x180072d34
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rdi, qword [rax + 0x10]
test rdi, rdi
jne 0x180072515
mov rdi, qword [0x1800cb568]
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 8], 0
jne 0x1800725e5
call fcn.180060de8
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x10], rdi
jmp 0x180072515
lea rcx, [0x1800cb774]
call fcn.180060ac0
cmp dword [0x1800cb774], 0xffffffff
jne 0x1800724bb
mov eax, dword [0x1800cb600]
mov ecx, dword [0x1800cb4e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jle 0x180072677
lea rcx, [0x1800cb600]
call fcn.180060ac0
cmp dword [0x1800cb600], 0xffffffff
jne 0x180072677
lea rbx, [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rbx + 4]
mov qword [0x1800cb5f8], rax
lea rcx, [0x1800cb600]
call fcn.180060b40
mov r14, qword [0x1800cb5f8]
cmp r14, 0x1000
jne 0x180072720
call fcn.180002fa0
mov qword [0x1800cb640], rax
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 8], 0
je 0x180072e3c
call fcn.180002e80
mov qword [0x1800cb648], rax
lea rbx, [0x1800cb618]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x1800cb648]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov qword [rax], rdx
mov r8, rcx
shl r8, 0x17
xor r8, rcx
mov rcx, rdx
shr rcx, 0x1a
xor rcx, rdx
xor rcx, r8
shr r8, 0x11
xor r8, rcx
mov qword [rax + 8], r8
add edx, r8d
and edx, 0x1ffff
inc edx
mov dword [0x1800cb610], edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp r14, 0x1000
sete byte [0x1800cb770]
lea rcx, [0x1800cb774]
call fcn.180060b40
jmp 0x1800724bb
lea rcx, [0x1800cb720]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
cmp dword [0x1800cb718], 0
jne 0x180072962
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 8], 0
je 0x180072d62
mov eax, dword [0x1800cb600]
mov ecx, dword [0x1800cb4e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jle 0x1800727d3
lea rcx, [0x1800cb600]
call fcn.180060ac0
cmp dword [0x1800cb600], 0xffffffff
jne 0x1800727d3
lea rbx, [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rbx + 4]
mov qword [0x1800cb5f8], rax
lea rcx, [0x1800cb600]
call fcn.180060b40
mov eax, 0x1000
xor edx, edx
div qword [0x1800cb5f8]
test rdx, rdx
jne 0x180072d6c
lea rcx, str.MALLOC_OPTIONS
lea rbx, [0x1800cb730]
mov rdx, rbx
mov r8d, 0x40
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
xor r14d, r14d
test eax, eax
cmovne r14, rbx
je 0x180072820
mov al, byte [0x1800cb730]
test al, al
jne 0x180072974
xor r14d, r14d
mov qword [0x1800cb6b8], r14
lea rcx, [0x1800cb680]
mov rbx, qword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
mov edx, 0x1388
call rbx
mov qword [0x1800cb6a8], r14
mov qword [0x1800cb6b0], r14
lea rcx, [0x1800cb5b8]
mov edx, 0x1388
call rbx
mov qword [0x1800cb5e0], r14
mov qword [0x1800cb5e8], r14
mov qword [0x1800cb5f0], r14
lea rcx, [0x1800cb6c0]
mov edx, 0x1388
call rbx
mov qword [0x1800cb710], r14
mov qword [0x1800cb700], r14
xorps xmm0, xmm0
movups xmmword [0x1800cb578], xmm0
mov qword [0x1800cb588], r14
lea rcx, [0x1800cb540]
mov qword [rsp + 0x50], r14
mov dword [rsp + 0x58], 0
mov rax, qword [0x1800cb038]
mov qword [rsp + 0x48], rax
mov edx, 0x1388
call rbx
test eax, eax
je 0x180072d98
lea rdx, [rsp + 0x48]
xor ecx, ecx
call fcn.180053590
mov qword [0x1800cb568], rax
test rax, rax
je 0x180072dc1
mov ecx, dword [0x1800cb4e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp byte [rcx + 8], 0
je 0x180072da5
mov ecx, dword [0x1800cb4e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x10], rax
lea rcx, [0x1800cb650]
mov edx, 0x1388
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
mov ecx, 0x20
call fcn.1800022d0
test rax, rax
je 0x180072db6
xorps xmm0, xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax], xmm0
mov qword [0x1800cb678], rax
mov dword [0x1800cb718], 1
lea rcx, [0x1800cb720]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1800724f0
xor r15d, r15d
movsx edx, al
lea ecx, [rdx - 0x30]
cmp cl, 9
jbe 0x180072dd3
xor ecx, ecx
cmp edx, 0x72
jne 0x180072df8
mov byte [0x1800cb5b0], 1
inc r15d
mov al, byte [r14 + r15]
test al, al
jne 0x180072977
jmp 0x180072820
lea rax, str.MOZ_RELEASE_ASSERT_IsPowerOfTwo_aAlignment__
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
cmp rbx, 0x1000
ja 0x180072bcb
cmp rdx, 0xfc001
jae 0x180072bcb
mov rcx, rdi
xor r8d, r8d
call fcn.18002f480
jmp 0x180072550
lock inc qword [0x1800cb608]
lock dec dword [0x1800cb610]
jne 0x1800724e3
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 8], 0
jne 0x180072a21
call fcn.180060de8
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 9], 0
jne 0x1800724e3
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 8], 0
jne 0x180072a62
call fcn.180060de8
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 9], 1
lea r9, [rsp + 0x48]
mov qword [r9], 0
mov rdx, qword [rsp + 0x118]
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
lea rcx, [0x180067240]
mov r8d, 0x10
call fcn.18009d790
lea rcx, [0x1800cb618]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x1800cb608]
mov qword [rsp + 0x38], rax
mov r15, qword [0x1800cb648]
mov rcx, qword [r15]
mov rdx, qword [r15 + 8]
mov rax, rcx
shl rax, 0x17
xor rax, rcx
mov rcx, rdx
shr rcx, 0x1a
xor rcx, rdx
xor rcx, rax
shr rax, 0x11
xor rax, rcx
lea ecx, [rdx + rax]
and ecx, 0x7fff
inc ecx
mov dword [rsp + 0x34], ecx
mov qword [r15], rax
mov rcx, rdx
shl rcx, 0x17
xor rcx, rdx
mov rbp, rcx
shr rbp, 0x11
mov rdx, rax
shr rdx, 0x1a
xor rbp, rcx
xor rbp, rax
xor rbp, rdx
mov qword [r15 + 8], rbp
add rbp, rax
mov r13d, 0x100
xor ebx, ebx
movzx ebp, bpl
imul r12, rbp, 0x148
cmp dword [r15 + r12 + 0x10], 1
je 0x180072b99
mov rax, qword [rsp + 0x38]
cmp qword [r15 + r12 + 0x150], rax
ja 0x180072b99
mov rax, qword [0x1800cb640]
mov rax, qword [rax]
mov rcx, rbp
shl rcx, 0xd
lea r14, [rax + rcx]
add r14, 0x1000
mov edx, 0x1000
mov rcx, r14
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r15, qword [0x1800cb648]
test rax, rax
jne 0x180072c53
inc rbp
dec r13
jne 0x180072b31
mov eax, dword [rsp + 0x34]
mov dword [0x1800cb610], eax
lea rcx, [0x1800cb618]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.180067250
test rbx, rbx
je 0x1800724e3
jmp 0x180072553
mov edx, 0xfff
mov rcx, 0xfffffffffffff000
lea rax, [rsi + rdx]
and rax, rcx
cmp rax, rsi
jb 0x180072bf1
add rbx, rdx
and rbx, rcx
mov r9, rax
add r9, rbx
jae 0x180072bf8
xor ebx, ebx
jmp 0x180072553
lea rcx, [rbx + rbx]
cmp rax, rbx
cmovb r9, rcx
add r9, 0xfffffffffffff000
cmp r9, 0xfc000
jbe 0x180072c40
cmp rbx, 0x100000
ja 0x180072c2a
mov r8d, 0x100000
mov rcx, rdi
mov rdx, rax
jmp 0x180072c33
mov rcx, rdi
mov rdx, rax
mov r8, rbx
xor r9d, r9d
call fcn.180001df0
jmp 0x180072550
mov rcx, rdi
mov rdx, rbx
mov r8, rax
call fcn.180067050
jmp 0x180072550
cmp rsi, 8
ja 0x180072d1e
mov rax, rsi
mov ecx, 0x40
dec rax
je 0x180072c72
bsr rcx, rax
xor rcx, 0x3f
neg cl
mov eax, 1
shl rax, cl
cmp rax, 0x11
mov ecx, 0x10
cmovb rax, rcx
cmp rsi, 2
cmovb rax, rcx
sub r14, rax
add r14, 0x1000
mov rbx, rdi
neg rbx
and rbx, r14
cmp rdi, 1
cmove rbx, r14
lea r14, [r15 + r12 + 0x30]
mov dword [r14 - 0x20], 1
mov qword [r14 - 0x18], 0
mov byte [r14 - 0x10], 0
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x43]
mov dword [r14 - 0xf], eax
mov dword [r14 - 0xc], ecx
mov qword [r14 - 8], rbx
lea rdx, [rsp + 0x48]
mov r8d, 0x88
mov rcx, r14
call sub.VCRUNTIME140.dll_memmove
mov byte [r14 + 0x88], 1
cmp byte [r14 + 0x118], 0
je 0x180072d0d
mov eax, 0x148
add rax, r12
add rax, r15
mov byte [rax], 0
mov qword [r15 + r12 + 0x150], 0xffffffffffffffff
jmp 0x180072ba1
cmp rsi, 0x1f0
ja 0x180072d3e
lea rax, [rsi + 0xf]
and rax, 0xfffffffffffffff0
jmp 0x180072c91
call fcn.180060de8
jmp 0x18007259a
mov eax, 0x1000
cmp rsi, 0xf00
ja 0x180072c91
lea rax, [rsi + 0xff]
and rax, 0xffffffffffffff00
jmp 0x180072c91
call fcn.180060de8
jmp 0x180072779
lea rcx, str._jemalloc_
lea rdx, str.Compile_time_page_size_does_not_divide_the_runtime_one._n
call fcn.180066f70
lea rax, str.MOZ_CRASH__
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
mov qword [0x1800cb568], 0
jmp 0x180072dc1
call fcn.180060de8
mov rax, qword [0x1800cb568]
jmp 0x180072908
mov qword [0x1800cb678], 0
lea rcx, [0x1800cb720]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x180072bf1
xor ecx, ecx
lea eax, [rcx + rcx*4]
lea ecx, [rdx + rax*2]
add ecx, 0xffffffd0
inc r15d
mov al, byte [r14 + r15]
movsx edx, al
lea r8d, [rax - 0x30]
cmp r8b, 0xa
jae 0x180072988
jmp 0x180072dd5
cmp edx, 0x46
jne 0x180072e46
cmp ecx, 1
adc ecx, 0
mov rax, qword [0x1800cb038]
xor edx, edx
test rax, rax
sete dl
cmp rax, 1
adc rax, 0
sub ecx, edx
shl rax, cl
test rax, rax
movabs rcx, 0x8000000000000000
cmovne rcx, rax
mov qword [0x1800cb038], rcx
jmp 0x180072998
call fcn.180060de8
jmp 0x1800726b7
cmp edx, 0x52
jne 0x180072e57
mov byte [0x1800cb5b0], 0
jmp 0x180072998
cmp edx, 0x66
jne 0x180072e6e
cmp ecx, 1
adc ecx, 0
shr qword [0x1800cb038], cl
jmp 0x180072998
lea rbx, [rsp + 0x48]
mov byte [rbx], al
mov byte [rbx + 1], 0
lea rdx, str._jemalloc_
mov r12, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__write]
mov ecx, 2
mov r8d, 0xa
call r12
lea rdx, str.:__malloc__Unsupported_character_in_malloc_options:_
mov ecx, 2
mov r8d, 0x35
call r12
lea rdx, [0x1800bf740]
mov rcx, rbx
call fcn.180066f70
jmp 0x180072998