Function at 0x180039bf0
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 rsi, 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, [rdx - 1]
test rdx, rax
sete al
test rdx, rdx
setne cl
test cl, al
je 0x18003a158
mov rdi, rdx
cmp rdx, 0x1000
ja 0x180039c93
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 0x180039db4
cmp rsi, 0x1000
ja 0x180039c93
cmp byte [0x1800cb770], 0
je 0x180039c93
mov rax, qword [0x1800cb648]
mov eax, dword [rax + 0x14810]
cmp eax, 1
je 0x18003a19b
cmp dword [0x1800cb718], 0
je 0x180039eef
cmp rsi, 1
adc rsi, 0
cmp rdi, 9
mov ebx, 8
cmovae rbx, rdi
cmp rsi, 0x1f1
jb 0x180039d2a
mov rdi, qword [0x1800cb568]
lea rax, [rsi + rbx]
dec rax
mov rdx, rbx
neg rdx
and rdx, rax
cmp rdx, rsi
jb 0x18003a3a1
cmp rdx, 0x1001
jae 0x18003a171
cmp rdx, 0xf00
ja 0x18003a18b
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 0x18003a4e4
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rdi, qword [rax + 0x10]
test rdi, rdi
jne 0x180039cc5
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 0x180039d95
call fcn.180060de8
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x10], rdi
jmp 0x180039cc5
lea rcx, [0x1800cb774]
call fcn.180060ac0
cmp dword [0x1800cb774], 0xffffffff
jne 0x180039c6b
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 0x180039e27
lea rcx, [0x1800cb600]
call fcn.180060ac0
cmp dword [0x1800cb600], 0xffffffff
jne 0x180039e27
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 0x180039ed0
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 0x18003a5ec
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 0x180039c6b
lea rcx, [0x1800cb720]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
cmp dword [0x1800cb718], 0
jne 0x18003a112
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 8], 0
je 0x18003a512
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 0x180039f83
lea rcx, [0x1800cb600]
call fcn.180060ac0
cmp dword [0x1800cb600], 0xffffffff
jne 0x180039f83
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 0x18003a51c
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 0x180039fd0
mov al, byte [0x1800cb730]
test al, al
jne 0x18003a124
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 0x18003a548
lea rdx, [rsp + 0x48]
xor ecx, ecx
call fcn.180053590
mov qword [0x1800cb568], rax
test rax, rax
je 0x18003a571
mov ecx, dword [0x1800cb4e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp byte [rcx + 8], 0
je 0x18003a555
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 0x18003a566
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 0x180039ca0
xor r15d, r15d
movsx edx, al
lea ecx, [rdx - 0x30]
cmp cl, 9
jbe 0x18003a583
xor ecx, ecx
cmp edx, 0x72
jne 0x18003a5a8
mov byte [0x1800cb5b0], 1
inc r15d
mov al, byte [r14 + r15]
test al, al
jne 0x18003a127
jmp 0x180039fd0
lea rax, str.MOZ_RELEASE_ASSERT_IsPowerOfTwo_aAlignment__
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
cmp rbx, 0x1000
ja 0x18003a37b
cmp rdx, 0xfc001
jae 0x18003a37b
mov rcx, rdi
xor r8d, r8d
call fcn.18002f480
jmp 0x180039d00
lock inc qword [0x1800cb608]
lock dec dword [0x1800cb610]
jne 0x180039c93
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 8], 0
jne 0x18003a1d1
call fcn.180060de8
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 9], 0
jne 0x180039c93
mov eax, dword [0x1800cb4e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 8], 0
jne 0x18003a212
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 0x18003a349
mov rax, qword [rsp + 0x38]
cmp qword [r15 + r12 + 0x150], rax
ja 0x18003a349
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 0x18003a403
inc rbp
dec r13
jne 0x18003a2e1
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 0x180039c93
jmp 0x180039d03
mov edx, 0xfff
mov rcx, 0xfffffffffffff000
lea rax, [rsi + rdx]
and rax, rcx
cmp rax, rsi
jb 0x18003a3a1
add rbx, rdx
and rbx, rcx
mov r9, rbx
add r9, rax
jae 0x18003a3a8
xor ebx, ebx
jmp 0x180039d03
lea rcx, [rbx + rbx]
cmp rax, rbx
cmovb r9, rcx
add r9, 0xfffffffffffff000
cmp r9, 0xfc000
jbe 0x18003a3f0
cmp rbx, 0x100000
ja 0x18003a3da
mov r8d, 0x100000
mov rcx, rdi
mov rdx, rax
jmp 0x18003a3e3
mov rcx, rdi
mov rdx, rax
mov r8, rbx
xor r9d, r9d
call fcn.180001df0
jmp 0x180039d00
mov rcx, rdi
mov rdx, rbx
mov r8, rax
call fcn.180067050
jmp 0x180039d00
cmp rsi, 8
ja 0x18003a4ce
mov rax, rsi
mov ecx, 0x40
dec rax
je 0x18003a422
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 0x18003a4bd
mov eax, 0x148
add rax, r12
add rax, r15
mov byte [rax], 0
mov qword [r15 + r12 + 0x150], 0xffffffffffffffff
jmp 0x18003a351
cmp rsi, 0x1f0
ja 0x18003a4ee
lea rax, [rsi + 0xf]
and rax, 0xfffffffffffffff0
jmp 0x18003a441
call fcn.180060de8
jmp 0x180039d4a
mov eax, 0x1000
cmp rsi, 0xf00
ja 0x18003a441
lea rax, [rsi + 0xff]
and rax, 0xffffffffffffff00
jmp 0x18003a441
call fcn.180060de8
jmp 0x180039f29
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 0x18003a571
call fcn.180060de8
mov rax, qword [0x1800cb568]
jmp 0x18003a0b8
mov qword [0x1800cb678], 0
lea rcx, [0x1800cb720]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x18003a3a1
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 0x18003a138
jmp 0x18003a585
cmp edx, 0x46
jne 0x18003a5f6
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 0x18003a148
call fcn.180060de8
jmp 0x180039e67
cmp edx, 0x52
jne 0x18003a607
mov byte [0x1800cb5b0], 0
jmp 0x18003a148
cmp edx, 0x66
jne 0x18003a61e
cmp ecx, 1
adc ecx, 0
shr qword [0x1800cb038], cl
jmp 0x18003a148
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 0x18003a148