Function at 0x10066880
Capabilities:
Query environment variable
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x520
mov esi, edx
mov dword [esp + 0xc], ecx
mov edx, dword [ebp + 8]
mov eax, dword [0x100a400c]
xor eax, ebp
mov dword [esp + 0x518], eax
xor eax, eax
mov dword [esp + 0x34], esi
mov dword [esi], eax
lea ebx, [esp + 0x488]
mov ecx, ebx
push eax
push eax
call fcn.10067800
add esp, 8
lea esi, [esp + 0x498]
mov eax, dword [esp + 0x4a8]
mov ecx, dword [esp + 0x4ac]
xor ecx, dword [esp + 0x4ec]
xor eax, dword [esp + 0x4e8]
or eax, ecx
sete al
je 0x10066909
cmp byte [esp + 0x488], 0x11
je 0x10066909
mov ecx, esi
call fcn.100685e0
mov ecx, ebx
call fcn.10067ba0
test al, al
jne 0x100668c8
jmp 0x100668f5
test al, al
jne 0x10067452
mov edi, dword [esp + 0x489]
mov ecx, esi
call fcn.100685e0
mov ecx, ebx
call fcn.10067ba0
test al, al
je 0x10066918
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
cmp edi, eax
je 0x1006693a
test eax, eax
jne 0x100668c8
movsd xmm0, qword [0x10092308]
movapd xmm1, xmmword [esp + 0x40]
andpd xmm1, xmm0
movapd xmmword [esp + 0x40], xmm1
mov eax, dword [esp + 0x4ac]
xor eax, dword [esp + 0x4ec]
mov ecx, dword [esp + 0x4a8]
xor ecx, dword [esp + 0x4e8]
or ecx, eax
je 0x1006746c
cmp byte [esp + 0x488], 0x12
jne 0x1006746c
movsd xmm0, qword [esp + 0x489]
movsd qword [esp + 0x28], xmm0
mov ecx, esi
call fcn.100685e0
mov ecx, ebx
call fcn.10067ba0
test al, al
je 0x10066993
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
movsd xmm0, qword [eax]
ucomisd xmm0, qword [esp + 0x28]
ja 0x100668c8
jmp 0x1006748f
movzx eax, byte [esp + 0x488]
cmp eax, 4
je 0x10066b42
cmp eax, 0xb
jne 0x1006750b
mov eax, dword [esp + 0x489]
mov dword [esp + 4], eax
mov ecx, esi
call fcn.100685e0
mov ecx, ebx
call fcn.10067ba0
test al, al
je 0x100669e6
sub esp, 0x10
mov eax, dword [esp + 0x14]
mov dword [esp + 8], eax
lea eax, [esp + 0x398]
mov dword [esp], eax
mov dword [esp + 0xc], 0
call fcn.100679d0
add esp, 0x10
mov eax, dword [0x100a54f4]
mov ecx, dword [0x100a43c8]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x100677aa
cmp byte [0x100a54f0], 0
mov eax, dword [esp + 0xc]
je 0x10066a9d
lea eax, [esp + 0x78]
push eax
push dword [esp + 8]
call sym.mozglue.dll_MozDescribeCodeAddress
add esp, 8
test al, al
je 0x10066a99
lea eax, [esp + 0x388]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
lea ecx, [esp + eax]
add ecx, 0x389
mov byte [ecx - 1], 0x20
mov edx, 0xff
sub edx, eax
lea eax, [esp + 0x78]
push eax
push dword [esp + 8]
push 0
push edx
push ecx
call sym.mozglue.dll_MozFormatCodeAddressDetails
add esp, 0x14
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
lea ecx, [esp + 0x78]
lea edx, [esp + 0x388]
call fcn.100678b0
mov ecx, dword [esp + 4]
lea edx, [esp + 0x78]
call fcn.100577d0
mov dword [esp + 8], eax
lea edx, [esp + 0x68]
mov ecx, dword [esp + 4]
call fcn.100579f0
mov ecx, dword [esp + 0x3c]
mov edx, 0xffffff00
and ecx, edx
mov dword [esp + 0x3c], ecx
xor edx, edx
inc edx
or ecx, edx
lea edx, [esp + 0x68]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov eax, dword [esp + 0x20]
rol eax, 5
mov ecx, dword [esp + 8]
xor eax, ecx
mov dword [edx + 8], ecx
imul eax, eax, 0x9e3779b9
mov dword [esp + 0x20], eax
mov dword [edx + 0xc], eax
lea ecx, [esp + 0x78]
call fcn.10068650
inc dword [esp + 0x30]
mov eax, dword [esp + 0x4ac]
xor eax, dword [esp + 0x4ec]
mov ecx, dword [esp + 0x4a8]
xor ecx, dword [esp + 0x4e8]
or ecx, eax
jne 0x100669c1
jmp 0x10067516
mov eax, dword [esp + 0x489]
mov dword [esp + 0x18], eax
mov ecx, esi
call fcn.100685e0
mov ecx, ebx
call fcn.10067ba0
test al, al
je 0x10066b4d
mov eax, dword [esp + 0x4a8]
mov ecx, dword [esp + 0x4ac]
xor ecx, dword [esp + 0x4ec]
xor eax, dword [esp + 0x4e8]
xor edx, edx
or eax, ecx
mov eax, 0
je 0x10066bb3
cmp byte [esp + 0x488], 5
jne 0x10066bb3
mov eax, dword [esp + 0x489]
mov dword [esp + 0x1c], eax
mov ecx, esi
call fcn.100685e0
mov ecx, ebx
call fcn.10067ba0
test al, al
je 0x10066b9b
mov eax, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [esp + 0x4ac]
xor eax, dword [esp + 0x4ec]
mov ecx, dword [esp + 0x4a8]
xor ecx, dword [esp + 0x4e8]
or ecx, eax
je 0x10066d50
cmp byte [esp + 0x488], 6
jne 0x10066d50
xor eax, eax
cmp eax, 0x200
jb 0x10066c4d
mov dword [esp + 4], eax
mov ecx, esi
call fcn.100685e0
mov ecx, ebx
call fcn.10067ba0
test al, al
je 0x10066c02
mov eax, dword [esp + 0x4ac]
xor eax, dword [esp + 0x4ec]
mov ecx, dword [esp + 0x4a8]
xor ecx, dword [esp + 0x4e8]
or ecx, eax
je 0x10066d4c
cmp byte [esp + 0x488], 6
mov edx, dword [esp + 4]
mov eax, edx
je 0x10066bf7
jmp 0x10066d50
mov edx, dword [esp + 0x489]
mov ecx, dword [esp + 0x48d]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx]
mov dword [esp + 8], edx
mov byte [ecx + eax], dl
mov dword [esp + 4], 0x200
cmp eax, 0x1ff
je 0x10066c02
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx]
mov edx, dword [esp + 8]
mov byte [eax + ecx + 1], dh
cmp eax, 0x1fd
ja 0x10066c02
mov ecx, edx
shr ecx, 0x10
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x14]
mov byte [eax + ecx + 2], dl
cmp eax, 0x1fd
je 0x10066c02
mov edx, dword [esp + 8]
shr edx, 0x18
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx]
mov byte [eax + ecx + 3], dl
cmp eax, 0x1fb
ja 0x10066c02
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x10]
mov byte [eax + ecx + 4], dl
je 0x10066c02
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x10]
mov byte [eax + ecx + 5], dh
mov ecx, dword [esp + 0x10]
cmp eax, 0x1f9
ja 0x10066c02
shr ecx, 0x10
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0xc]
mov edx, dword [edx]
mov byte [eax + edx + 6], cl
cmp eax, 0x1f9
je 0x10066c02
mov edx, dword [esp + 0x10]
shr edx, 0x18
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx]
mov byte [eax + ecx + 7], dl
add eax, 8
jmp 0x10066bfe
mov edx, dword [esp + 4]
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
xor ecx, ecx
mov byte [eax + 0x1ff], cl
mov dword [esp + 0x388], ecx
mov dword [esp + 0x398], ecx
mov dword [esp + 0x39c], 0xf
mov byte [esp + 0x388], cl
mov eax, dword [esp + 0x18]
cmp byte [eax], cl
mov ecx, eax
je 0x10066dac
test edx, edx
je 0x10066dac
mov eax, dword [esp + 0x1c]
test al, 0x10
jne 0x10066de4
test al, 0x20
jne 0x10066eb8
test al, 0x40
jne 0x10067651
jmp 0x10067611
test edx, edx
jne 0x10066e24
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xf
jbe 0x10066f16
sub esp, 0x10
mov cl, byte [esp + 0x88]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], ecx
mov dword [esp], eax
jmp 0x1006710b
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xf
jbe 0x10066f2c
sub esp, 0x10
mov cl, byte [esp + 0x88]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], ecx
mov dword [esp], eax
lea ecx, [esp + 0x398]
call fcn.1001db50
jmp 0x10066f54
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 4], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, eax
cmp eax, 0xf
jbe 0x10066f7e
sub esp, 0x10
mov al, byte [esp + 0x88]
mov byte [esp + 4], al
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 8], eax
mov dword [esp], ecx
jmp 0x1006710b
mov word [ecx + eax], 0x2e
jmp 0x10066fd4
mov dword [esp + 4], eax
add ecx, eax
push dword [esp + 0x10]
push edx
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 4]
jmp 0x10066eaf
mov dword [esp + 8], eax
add ecx, eax
push dword [esp + 0x14]
push dword [esp + 8]
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
mov byte [ecx + eax], 0
jmp 0x10067117
mov dword [esp + 0x398], 4
mov dword [esp + 0x388], 0x20746567
mov byte [esp + 0x38c], 0
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xb
jbe 0x1006703a
sub esp, 0x10
mov cl, byte [esp + 0x88]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], ecx
mov dword [esp], eax
lea ecx, [esp + 0x398]
call fcn.1001db50
jmp 0x10067067
lea ecx, [esp + 0x388]
mov dword [ecx + 0x10], eax
push eax
push dword [esp + 0x1c]
push ecx
mov dword [esp + 0x10], eax
jmp 0x10066f92
lea ecx, [esp + 0x388]
mov dword [ecx + 0x10], eax
push eax
push dword [esp + 0x1c]
push ecx
mov dword [esp + 0x10], eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 4]
mov byte [esp + eax + 0x388], 0
mov eax, dword [esp + 0x398]
mov ecx, dword [esp + 0x39c]
cmp eax, ecx
jae 0x10066fab
lea edx, [eax + 1]
mov dword [esp + 0x398], edx
cmp ecx, 0x10
jb 0x10067678
jmp 0x1006766c
lea eax, [esp + 0x388]
mov dword [eax + 0x10], ecx
push ecx
push dword [esp + 8]
push eax
mov dword [esp + 0x10], ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 4]
mov byte [esp + eax + 0x388], 0
jmp 0x10067117
sub esp, 0xc
mov al, byte [esp + 0x84]
mov byte [esp + 4], al
mov dword [esp + 8], 0x2e
mov dword [esp], 1
lea ecx, [esp + 0x394]
call fcn.10056700
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 4], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [esp + 0x398]
mov edx, dword [esp + 0x39c]
mov dword [esp + 8], edx
sub edx, ecx
cmp edx, eax
mov edx, eax
jb 0x100670ee
mov eax, edx
mov edx, dword [esp + 4]
mov dword [esp + 0x10], eax
add eax, ecx
mov dword [esp + 0x398], eax
cmp dword [esp + 8], 0x10
mov dword [esp + 0x14], eax
jb 0x10067690
jmp 0x10067684
mov word [ecx + eax], 0x2e
jmp 0x100670ba
lea edx, [esp + 0x38c]
mov dword [esp + 4], eax
mov ecx, eax
add ecx, 4
mov dword [edx + 0xc], ecx
push eax
push dword [esp + 0x1c]
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 4]
mov byte [esp + eax + 0x38c], 0
mov eax, dword [esp + 0x398]
mov ecx, dword [esp + 0x39c]
cmp eax, ecx
jae 0x10067091
lea edx, [eax + 1]
mov dword [esp + 0x398], edx
cmp ecx, 0x10
jb 0x100676b4
jmp 0x100676a8
sub esp, 0xc
mov al, byte [esp + 0x84]
mov byte [esp + 4], al
mov dword [esp + 8], 0x2e
mov dword [esp], 1
lea ecx, [esp + 0x394]
call fcn.10056700
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 4], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [esp + 0x398]
mov edx, dword [esp + 0x39c]
mov dword [esp + 8], edx
sub edx, ecx
cmp edx, eax
mov edx, eax
jae 0x10067426
sub esp, 0x10
mov al, byte [esp + 0x88]
mov byte [esp + 4], al
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x14]
mov dword [esp + 8], eax
mov dword [esp], edx
lea ecx, [esp + 0x398]
call fcn.1001db50
mov edx, dword [esp + 0x4ac]
mov eax, dword [esp + 0x4a8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4ec]
mov ecx, dword [esp + 0x4e8]
mov dword [esp + 8], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
xor edx, eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
xor eax, ecx
mov dword [esp + 0x18], 0
or eax, edx
mov al, byte [esp + 0x488]
je 0x10067407
mov dword [esp + 0x24], 0
cmp al, 8
jne 0x100671c9
mov eax, dword [esp + 0x489]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48d]
mov dword [esp + 0x24], eax
mov ecx, esi
call fcn.100685e0
mov ecx, ebx
call fcn.10067ba0
test al, al
je 0x10067188
mov eax, dword [esp + 0x4ac]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4a8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4ec]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x4e8]
mov al, byte [esp + 0x488]
mov byte [esp + 8], al
mov eax, dword [esp + 4]
xor eax, ecx
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0x10]
or edx, eax
mov eax, 0
mov byte [esp + 0x60], al
mov byte [esp + 0x64], al
je 0x10067414
mov al, byte [esp + 8]
cmp al, 9
jne 0x1006724b
mov eax, dword [esp + 0x489]
mov dword [esp + 0x60], eax
xor eax, eax
inc eax
mov dword [esp + 0x64], eax
mov ecx, esi
call fcn.100685e0
mov ecx, ebx
call fcn.10067ba0
test al, al
je 0x1006720a
mov eax, dword [esp + 0x4ac]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4a8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4ec]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x4e8]
mov al, byte [esp + 0x488]
mov byte [esp + 8], al
mov eax, dword [esp + 4]
xor eax, ecx
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0x10]
or edx, eax
mov eax, 0
mov byte [esp + 0x58], al
mov byte [esp + 0x5c], al
je 0x1006741d
mov al, byte [esp + 8]
cmp al, 0xa
jne 0x100672cd
mov eax, dword [esp + 0x489]
mov dword [esp + 0x58], eax
xor eax, eax
inc eax
mov dword [esp + 0x5c], eax
mov ecx, esi
call fcn.100685e0
mov ecx, ebx
call fcn.10067ba0
test al, al
je 0x1006728c
mov eax, dword [esp + 0x4ac]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4a8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4ec]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x4e8]
mov al, byte [esp + 0x488]
mov byte [esp + 8], al
mov edx, dword [esp + 0x10]
xor edx, dword [esp + 0x14]
xor ecx, dword [esp + 4]
xor eax, eax
mov byte [esp + 0x50], al
mov byte [esp + 0x54], al
or ecx, edx
je 0x10067316
cmp byte [esp + 8], 1
jne 0x10067316
mov eax, dword [esp + 0x489]
mov dword [esp + 0x50], eax
xor eax, eax
inc eax
mov dword [esp + 0x54], eax
mov ecx, esi
call fcn.100685e0
mov ecx, ebx
call fcn.10067ba0
test al, al
je 0x10067304
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
shr al, 7
movzx eax, al
mov dword [esp + 8], eax
lea ecx, [esp + 0x78]
lea edx, [esp + 0x388]
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x30]
push dword [esp + 0x28]
push dword [esp + 0x1c]
call fcn.10067a40
add esp, 0x18
mov ecx, dword [esp + 4]
lea edx, [esp + 0x78]
call fcn.100577d0
mov dword [esp + 8], eax
lea edx, [esp + 0x68]
mov ecx, dword [esp + 4]
call fcn.100579f0
mov ecx, dword [esp + 0x38]
mov edx, 0xffffff00
and ecx, edx
mov dword [esp + 0x38], ecx
xor edx, edx
inc edx
or ecx, edx
lea edx, [esp + 0x68]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov eax, dword [esp + 0x20]
rol eax, 5
mov ecx, dword [esp + 8]
xor eax, ecx
mov dword [edx + 8], ecx
imul eax, eax, 0x9e3779b9
mov dword [esp + 0x20], eax
mov dword [edx + 0xc], eax
lea ecx, [esp + 0x78]
call fcn.10068650
lea eax, [esp + 0x388]
mov ecx, dword [eax + 0x14]
cmp ecx, 0x10
jb 0x10066b15
mov eax, dword [esp + 0x388]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x100673f9
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x100677da
mov eax, ecx
push eax
call sym.mozglue.dll__aligned_free
add esp, 4
jmp 0x10066b15
mov dword [esp + 0x24], 0
jmp 0x100671c9
mov al, byte [esp + 8]
jmp 0x1006724b
mov al, byte [esp + 8]
jmp 0x100672cd
mov dword [esp + 0x14], edx
mov eax, edx
add eax, ecx
mov edx, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x398], eax
cmp dword [esp + 8], 0x10
jb 0x1006769c
mov eax, dword [esp + 0x388]
jmp 0x10066e90
mov ecx, dword [esp + 0x518]
xor ecx, ebp
call fcn.1004f020
mov eax, dword [esp + 0x34]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push str.expected_a_Time_entry
push str.ProfileBuffer_parse_error:__s
push eax
call fcn.10067860
add esp, 0xc
jmp 0x100668c8
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
lea ecx, [esp + 0x78]
mov edx, str._root_
call fcn.100678b0
mov ecx, dword [esp + 4]
lea edx, [esp + 0x78]
call fcn.100577d0
xor ecx, ecx
mov byte [esp + 0x68], cl
mov dword [esp + 0x30], 0
mov byte [esp + 0x6c], cl
mov dword [esp + 0x70], eax
imul eax, eax, 0x9e3779b9
mov dword [esp + 0x20], eax
mov dword [esp + 0x74], eax
lea ecx, [esp + 0x78]
call fcn.10068650
mov eax, dword [esp + 0x4ac]
xor eax, dword [esp + 0x4ec]
mov ecx, dword [esp + 0x4a8]
xor ecx, dword [esp + 0x4e8]
or ecx, eax
je 0x100668c8
jmp 0x100669c1
cmp dword [esp + 0x30], 0
je 0x100668c8
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 8]
lea edx, [esp + 0x68]
call fcn.100579f0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4a8]
mov ecx, dword [esp + 0x4ac]
xor ecx, dword [esp + 0x4ec]
xor eax, dword [esp + 0x4e8]
or eax, ecx
sete al
cmp byte [esp + 0x488], 0x10
setne cl
or cl, al
mov byte [esp + 8], cl
jne 0x10067584
movsd xmm0, qword [esp + 0x489]
movapd xmmword [esp + 0x40], xmm0
mov ecx, esi
call fcn.100685e0
lea ecx, [esp + 0x488]
call fcn.10067ba0
test al, al
je 0x1006756d
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 0x78]
mov dword [eax], ecx
add ecx, 4
mov dword [esp + 0x10], ecx
xor eax, eax
mov edx, 0x10092758
push eax
push 0x10092760
call fcn.10012810
add esp, 8
lea eax, [esp + 0x78]
mov dword [eax + 4], 1
mov ecx, dword [esp + 0x10]
mov edx, 0x10092758
xor eax, eax
push eax
push dword [esp + 8]
call fcn.10012a90
add esp, 8
xor edx, edx
inc edx
lea ecx, [esp + 0x78]
movsd xmm0, qword [esp + 0x28]
call fcn.100686c0
cmp byte [esp + 8], 0
je 0x1006773f
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
mov ecx, dword [esp + 8]
add ecx, 4
mov edx, 0x100927b0
call fcn.1001f250
mov eax, dword [esp + 0x34]
mov dword [eax], edi
jmp 0x100668c8
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xf
jbe 0x100676c0
sub esp, 0x10
mov cl, byte [esp + 0x88]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], ecx
mov dword [esp], eax
lea ecx, [esp + 0x398]
call fcn.1001db50
jmp 0x100676e8
mov dword [esp + 0x398], 4
mov dword [esp + 0x388], 0x20746573
jmp 0x10066ece
mov ecx, dword [esp + 0x388]
jmp 0x10066e67
lea ecx, [esp + 0x388]
jmp 0x10066e67
mov eax, dword [esp + 0x388]
jmp 0x10066e72
lea eax, [esp + 0x388]
jmp 0x10066e72
lea eax, [esp + 0x388]
jmp 0x10066e90
mov ecx, dword [esp + 0x388]
jmp 0x1006702f
lea ecx, [esp + 0x388]
jmp 0x1006702f
lea ecx, [esp + 0x388]
mov dword [ecx + 0x10], eax
push eax
push dword [esp + 0x1c]
push ecx
mov dword [esp + 0x10], eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 4]
mov byte [esp + eax + 0x388], 0
mov eax, dword [esp + 0x398]
mov ecx, dword [esp + 0x39c]
cmp eax, ecx
jae 0x10067712
lea edx, [eax + 1]
mov dword [esp + 0x398], edx
cmp ecx, 0x10
jb 0x1006772d
mov ecx, dword [esp + 0x388]
jmp 0x10067734
sub esp, 0xc
mov al, byte [esp + 0x84]
mov byte [esp + 4], al
mov dword [esp + 8], 0x20
jmp 0x100670a7
lea ecx, [esp + 0x388]
mov word [ecx + eax], 0x20
jmp 0x100670ba
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x28], eax
cmp eax, 2
jne 0x10067756
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
jmp 0x10067786
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
add eax, 4
mov dword [esp + 4], eax
add dword [esp + 0x28], 0xfffffffe
mov ecx, dword [esp + 4]
mov edx, 0x10092758
push 0x10092768
call fcn.1001dde0
add esp, 4
inc dword [esp + 0x28]
jne 0x1006776a
mov dword [esp + 0x7c], 3
mov eax, dword [esp + 8]
lea ecx, [eax + 4]
mov edx, 0x10092758
movapd xmm0, xmmword [esp + 0x40]
call fcn.100667a0
jmp 0x100675f5
push 0x100a54f4
call fcn.1004f9c2
add esp, 4
cmp dword [0x100a54f4], 0xffffffff
jne 0x10066a3e
push str.MOZ_PROFILER_SYMBOLICATE
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
add esp, 4
test eax, eax
jne 0x100677e0
xor eax, eax
jmp 0x100677e6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
cmp byte [eax], 0
setne al
mov byte [0x100a54f0], al
push 0x100a54f4
call fcn.1004f9c2
add esp, 4
jmp 0x10066a3e