Function at 0x10036a30
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x70
mov esi, ecx
mov eax, dword [ebp + 8]
mov ecx, dword [0x1007d00c]
xor ecx, ebp
mov dword [esp + 0x68], ecx
mov ecx, eax
xor ecx, 0x7fffffff
mov edi, edx
not edi
or edi, ecx
je 0x10036a73
mov ecx, eax
xor ecx, 0x80000000
or ecx, edx
jne 0x10036a7d
movsd xmm2, qword [0x1006d2a8]
jmp 0x10036a99
movsd xmm2, qword [0x1006d2a0]
jmp 0x10036a99
push eax
push edx
call sym.mozglue.dll_public:_static_double___cdecl_mozilla::BaseTimeDurationPlatformUtils::ToSeconds_long_long___int64__
add esp, 8
fstp qword [esp + 0x48]
movsd xmm2, qword [esp + 0x48]
mulsd xmm2, qword [0x1006d2b0]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mulsd xmm2, qword [0x1006d2b0]
movsd xmm0, qword [esi + 0x40]
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jne 0x10036b02
jp 0x10036b02
movsd qword [esi + 0x40], xmm2
mov edx, eax
not edx
mov edi, ecx
xor edi, 0x7fffffff
or edi, edx
mov edi, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
movsd qword [esi + 0x48], xmm2
movsd xmm3, qword [0x1006d2a0]
movapd xmm4, xmm3
movsd qword [esp + 0x18], xmm2
je 0x10036b66
mov ebx, edx
mov edx, ecx
xor edx, 0x80000000
or edx, eax
jne 0x10036b3a
movsd xmm4, qword [0x1006d2a8]
jmp 0x10036b64
movapd xmm0, xmm2
subsd xmm0, qword [esi + 0x48]
inc dword [esi + 0x50]
movsd xmm1, qword [esi + 0x58]
addsd xmm1, xmm0
movsd qword [esi + 0x58], xmm1
movsd xmm1, qword [esi + 0x60]
ucomisd xmm1, xmm0
jbe 0x10036b2c
movsd qword [esi + 0x60], xmm0
ucomisd xmm0, qword [esi + 0x68]
jbe 0x10036abd
movsd qword [esi + 0x68], xmm0
jmp 0x10036abd
push ecx
push eax
call sym.mozglue.dll_public:_static_double___cdecl_mozilla::BaseTimeDurationPlatformUtils::ToSeconds_long_long___int64__
movsd xmm3, qword [0x1006d2a0]
movsd xmm2, qword [esp + 0x20]
add esp, 8
fstp qword [esp + 0x40]
movsd xmm4, qword [esp + 0x40]
mulsd xmm4, qword [0x1006d2b0]
mov edx, ebx
mov eax, edx
not eax
mov ecx, edi
xor ecx, 0x7fffffff
or ecx, eax
mov ebx, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x1c]
movapd xmm5, xmm3
je 0x10036bcf
mov eax, edi
xor eax, 0x80000000
or eax, edx
jne 0x10036b95
movsd xmm5, qword [0x1006d2a8]
jmp 0x10036bcf
push edi
push edx
movsd qword [esp + 8], xmm4
mov edi, ecx
call sym.mozglue.dll_public:_static_double___cdecl_mozilla::BaseTimeDurationPlatformUtils::ToSeconds_long_long___int64__
mov ecx, edi
movsd xmm4, qword [esp + 8]
movsd xmm3, qword [0x1006d2a0]
movsd xmm2, qword [esp + 0x20]
add esp, 8
fstp qword [esp + 0x38]
movsd xmm5, qword [esp + 0x38]
mulsd xmm5, qword [0x1006d2b0]
mov eax, ecx
not eax
mov edi, ecx
mov ecx, ebx
xor ecx, 0x7fffffff
or ecx, eax
mov edx, dword [ebp + 0x24]
movapd xmm6, xmm3
je 0x10036c4b
mov eax, ebx
xor eax, 0x80000000
or eax, edi
jne 0x10036bfd
movsd xmm6, qword [0x1006d2a8]
jmp 0x10036c4b
push ebx
push edi
movsd qword [esp + 8], xmm4
movsd qword [esp + 0x10], xmm5
mov ebx, edx
call sym.mozglue.dll_public:_static_double___cdecl_mozilla::BaseTimeDurationPlatformUtils::ToSeconds_long_long___int64__
mov edx, ebx
movsd xmm5, qword [esp + 0x10]
movsd xmm4, qword [esp + 8]
movsd xmm3, qword [0x1006d2a0]
movsd xmm2, qword [esp + 0x20]
add esp, 8
fstp qword [esp + 0x30]
movsd xmm0, qword [0x1006d2b0]
movsd xmm6, qword [esp + 0x30]
mulsd xmm6, xmm0
mulsd xmm6, xmm0
mulsd xmm4, qword [0x1006d2b0]
mulsd xmm5, qword [0x1006d2b0]
mov eax, edx
not eax
mov edi, dword [ebp + 0x28]
mov ecx, edi
xor ecx, 0x7fffffff
or ecx, eax
je 0x10036cd1
mov eax, edi
xor eax, 0x80000000
or eax, edx
jne 0x10036c83
movsd xmm3, qword [0x1006d2a8]
jmp 0x10036cd1
push edi
push edx
movsd qword [esp + 8], xmm4
movsd qword [esp + 0x10], xmm5
movsd qword [esp + 0x18], xmm6
call sym.mozglue.dll_public:_static_double___cdecl_mozilla::BaseTimeDurationPlatformUtils::ToSeconds_long_long___int64__
movsd xmm6, qword [esp + 0x18]
movsd xmm5, qword [esp + 0x10]
movsd xmm4, qword [esp + 8]
movsd xmm2, qword [esp + 0x20]
add esp, 8
fstp qword [esp + 0x28]
movsd xmm0, qword [0x1006d2b0]
movsd xmm3, qword [esp + 0x28]
mulsd xmm3, xmm0
mulsd xmm3, xmm0
movapd xmm0, xmm4
addsd xmm0, xmm5
inc dword [esi + 0x70]
addsd xmm0, xmm6
addsd xmm0, xmm3
movsd xmm1, qword [esi + 0x78]
addsd xmm1, xmm0
movsd qword [esi + 0x78], xmm1
movsd xmm1, qword [esi + 0x80]
ucomisd xmm1, xmm0
jbe 0x10036d08
movsd qword [esi + 0x80], xmm0
ucomisd xmm0, qword [esi + 0x88]
jbe 0x10036d1a
movsd qword [esi + 0x88], xmm0
inc dword [esi + 0x90]
movsd xmm0, qword [esi + 0x98]
addsd xmm0, xmm4
movsd qword [esi + 0x98], xmm0
movsd xmm0, qword [esi + 0xa0]
ucomisd xmm0, xmm4
jbe 0x10036d4a
movsd qword [esi + 0xa0], xmm4
ucomisd xmm4, qword [esi + 0xa8]
jbe 0x10036d5c
movsd qword [esi + 0xa8], xmm4
inc dword [esi + 0xb0]
movsd xmm0, qword [esi + 0xb8]
addsd xmm0, xmm5
movsd qword [esi + 0xb8], xmm0
movsd xmm0, qword [esi + 0xc0]
ucomisd xmm0, xmm5
jbe 0x10036d8c
movsd qword [esi + 0xc0], xmm5
ucomisd xmm5, qword [esi + 0xc8]
jbe 0x10036d9e
movsd qword [esi + 0xc8], xmm5
inc dword [esi + 0xd0]
movsd xmm0, qword [esi + 0xd8]
addsd xmm0, xmm6
movsd qword [esi + 0xd8], xmm0
movsd xmm0, qword [esi + 0xe0]
ucomisd xmm0, xmm6
jbe 0x10036dce
movsd qword [esi + 0xe0], xmm6
ucomisd xmm6, qword [esi + 0xe8]
jbe 0x10036de0
movsd qword [esi + 0xe8], xmm6
inc dword [esi + 0xf0]
movsd xmm0, qword [esi + 0xf8]
addsd xmm0, xmm3
movsd qword [esi + 0xf8], xmm0
movsd xmm0, qword [esi + 0x100]
ucomisd xmm0, xmm3
jbe 0x10036e10
movsd qword [esi + 0x100], xmm3
ucomisd xmm3, qword [esi + 0x108]
jbe 0x10036e22
movsd qword [esi + 0x108], xmm3
mov eax, dword [0x1007d7c8]
mov ecx, dword [0x1007d328]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x10036f08
cmp byte [0x1007d7c4], 0
jne 0x10036e5f
mov ecx, dword [esp + 0x68]
xor ecx, ebp
call fcn.1002f5c0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea edi, [esp + 0x5c]
mov byte [edi], 0x19
movsd qword [edi + 1], xmm2
mov edx, dword [esi]
lea ecx, [esp + 0x50]
push edi
movsd qword [esp + 0x24], xmm3
movsd qword [esp + 4], xmm4
movsd qword [esp + 0xc], xmm5
movsd qword [esp + 0x14], xmm6
call fcn.100366f0
add esp, 4
mov bl, 0x1a
mov byte [edi], bl
movsd xmm0, qword [esp]
movsd qword [edi + 1], xmm0
mov edx, dword [esi]
lea ecx, [esp + 0x50]
push edi
call fcn.100366f0
add esp, 4
mov byte [edi], bl
movsd xmm0, qword [esp + 8]
movsd qword [edi + 1], xmm0
mov edx, dword [esi]
lea ecx, [esp + 0x50]
push edi
call fcn.100366f0
add esp, 4
mov byte [edi], bl
movsd xmm0, qword [esp + 0x10]
movsd qword [edi + 1], xmm0
mov edx, dword [esi]
lea ecx, [esp + 0x50]
push edi
call fcn.100366f0
add esp, 4
mov byte [edi], bl
movsd xmm0, qword [esp + 0x20]
movsd qword [edi + 1], xmm0
mov edx, dword [esi]
lea ecx, [esp + 0x50]
push edi
call fcn.100366f0
add esp, 4
jmp 0x10036e4c
push 0x1007d7c8
movsd qword [esp + 0x24], xmm3
movsd qword [esp + 4], xmm4
movsd qword [esp + 0xc], xmm5
movsd qword [esp + 0x14], xmm6
call fcn.1002ff22
movsd xmm6, qword [esp + 0x14]
movsd xmm5, qword [esp + 0xc]
movsd xmm4, qword [esp + 4]
movsd xmm3, qword [esp + 0x24]
movsd xmm2, qword [esp + 0x1c]
add esp, 4
cmp dword [0x1007d7c8], 0xffffffff
jne 0x10036e43
push str.MOZ_PROFILER_RECORD_OVERHEADS
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
add esp, 4
test eax, eax
je 0x10036fa4
cmp byte [eax], 0
setne al
mov byte [0x1007d7c4], al
push 0x1007d7c8
call fcn.1002ff22
add esp, 4
movsd xmm2, qword [esp + 0x18]
movsd xmm3, qword [esp + 0x20]
movsd xmm4, qword [esp]
movsd xmm5, qword [esp + 8]
movsd xmm6, qword [esp + 0x10]
jmp 0x10036e43
xor eax, eax
jmp 0x10036f70