Function at 0x402ab0
Capabilities:
Query environment variable

Disassembly:
sub esp, 0x220
mov eax, dword [0x59a024]
xor eax, esp
mov dword [esp + 0x21c], eax
push edi
push 0x104
lea eax, [esp + 0x11c]
push eax
push str._APPDATA_MozillaFirefox_
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0xffffffff
xor edi, edi
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
test eax, eax
je 0x402d6b
cmp eax, 0x104
ja 0x402d6b
push ebp
push esi
lea ecx, [esp + 0x120]
push ecx
push str._sprofiles.ini
lea edx, [esp + 0x20]
push 0x105
push edx
call fcn.0040a6a1
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x2c]
call fcn.00406f70
mov esi, dword [esp + 0x24]
mov ebp, eax
add esp, 0x14
test ebp, ebp
jne 0x402d57
test esi, esi
je 0x402d57
lea ecx, [esp + 0x18]
push ecx
push str.found_firefox_profile_config:_s_n
call fcn.0040a0d4
push esi
push str.config_content_is:_n_s_n
call fcn.0040a0d4
push 0x596160
push esi
call fcn.0040a750
mov esi, eax
add esp, 0x18
test esi, esi
je 0x402d2c
lea esp, [esp]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402b85
sub eax, edx
test eax, eax
jle 0x402d13
cmp byte [eax + esi - 1], 0xd
jne 0x402ba1
dec eax
mov byte [eax + esi], cl
test eax, eax
jle 0x402d13
push 8
push str._Profile
push esi
call fcn.004196c9
add esp, 0xc
test eax, eax
je 0x402d09
push 0xb
push str.IsRelative
push esi
call fcn.004196c9
add esp, 0xc
test eax, eax
jne 0x402bea
lea edx, [esp + 0xc]
push edx
push str.IsRelative_d
push esi
call fcn.0040a67f
add esp, 0xc
jmp 0x402c13
push 5
push str.Path
push esi
call fcn.004196c9
add esp, 0xc
test eax, eax
jne 0x402c13
lea edi, [esi + 5]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402c06
sub eax, edx
jne 0x402c13
xor edi, edi
mov eax, dword [esp + 0xc]
cmp eax, 0xffffffff
je 0x402d13
test edi, edi
je 0x402d13
push edi
push eax
push str.found_firefox_profile:IsRelative_d__Path_s_n
call fcn.0040a0d4
mov eax, dword [esp + 0x18]
add esp, 0xc
mov byte [esp + 0x18], 0
test eax, eax
jne 0x402c59
push 0x105
lea eax, [esp + 0x1c]
push edi
push eax
call fcn.00409fb0
add esp, 0xc
jmp 0x402c7e
cmp eax, 1
jne 0x402c7e
push edi
lea ecx, [esp + 0x124]
push ecx
push str._s_s
lea edx, [esp + 0x24]
push 0x105
push edx
call fcn.0040a6a1
add esp, 0x14
lea eax, [esp + 0x18]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402c85
sub eax, edx
test eax, eax
jle 0x402d09
xor ecx, ecx
test eax, eax
jle 0x402ca9
cmp byte [esp + ecx + 0x18], 0x2f
jne 0x402ca4
mov byte [esp + ecx + 0x18], 0x5c
inc ecx
cmp ecx, eax
jl 0x402c98
lea eax, [esp + 0x18]
push eax
push str.profile_path_is:_s_n
call fcn.0040a0d4
lea ecx, [esp + 0x20]
push ecx
call fcn.004029b0
mov ebp, eax
add esp, 0xc
mov eax, 0x5961e0
test ebp, ebp
je 0x402cd5
mov eax, str.failed
push eax
lea edx, [esp + 0x1c]
push edx
push str.import_ca_cert_to___s___s_n
call fcn.0040a0d4
add esp, 0xc
mov eax, 0x5961e0
test ebp, ebp
je 0x402cf6
mov eax, str.failed
push eax
lea eax, [esp + 0x1c]
push eax
push str.import_ca_cert_to___s___s
call fcn.00402730
add esp, 0xc
mov dword [esp + 0xc], 0xffffffff
xor edi, edi
push 0x596160
push 0
call fcn.0040a750
mov esi, eax
add esp, 8
test esi, esi
jne 0x402b80
mov esi, dword [esp + 0x10]
test esi, esi
je 0x402d3d
push esi
call fcn.00409ca4
add esp, 4
pop esi
mov eax, ebp
pop ebp
pop edi
mov ecx, dword [esp + 0x21c]
xor ecx, esp
call fcn.00409b58
add esp, 0x220
ret
push str.ImportCaCertToFirefox_not_found_firefox
call fcn.00402730
add esp, 4
mov ebp, 0xfffffffe
jmp 0x402d30
mov ecx, dword [esp + 0x220]
pop edi
xor ecx, esp
or eax, 0xffffffff
call fcn.00409b58
add esp, 0x220
ret