Function at 0x42cb60
Capabilities:
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc38
mov eax, dword [0x4c9890]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc38], eax
xor eax, eax
push 0x206
push eax
mov word [ebp - 0xa2c], ax
lea eax, [ebp - 0xa2a]
push eax
call fcn.004866f0
add esp, 0xc
lea eax, [ebp - 0xa2c]
push eax
push 0
push 0
push 0x1a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jns 0x42cbc5
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00487c50
mov esp, ebp
pop ebp
ret 4
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x824], ax
lea eax, [ebp - 0x822]
push eax
call fcn.004866f0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push eax
call fcn.004866f0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x414], ax
lea eax, [ebp - 0x412]
push eax
call fcn.004866f0
lea eax, [ebp - 0xa2c]
push eax
lea eax, [ebp - 0x414]
push str._sMozillaFirefox
push eax
call fcn.00424c20
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x20c]
push str._sprofiles.ini
push eax
call fcn.00424c20
add esp, 0x3c
lea eax, [ebp - 0x20c]
push eax
push 0x104
lea eax, [ebp - 0x824]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesW]
test eax, eax
je 0x42cbb3
push ebx
push esi
push edi
lea edi, [ebp - 0x824]
mov esi, edi
lea ecx, [esi + 2]
jmp 0x42cc80
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x42cc80
sub esi, ecx
sar esi, 1
je 0x42cda5
xor eax, eax
push 0x206
push eax
mov word [ebp - 0xc34], ax
lea eax, [ebp - 0xc32]
push eax
call fcn.004866f0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x61c], ax
lea eax, [ebp - 0x61a]
push eax
call fcn.004866f0
add esp, 0x18
lea eax, [ebp - 0x20c]
push eax
push 0x104
lea eax, [ebp - 0xc34]
push eax
push 0x4a1b98
push str.Name
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x20c]
push eax
push 0
push str.IsRelative
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ebx, eax
lea eax, [ebp - 0x20c]
push eax
push 0x104
lea eax, [ebp - 0x61c]
push eax
push 0x4a1b98
push str.Path
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x20c]
push eax
push 0
push str.Default
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
cmp eax, 1
je 0x42cdd6
mov ecx, str.default
lea eax, [ebp - 0xc34]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42cd7c
test dx, dx
je 0x42cd78
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42cd7c
add eax, 4
add ecx, 4
test dx, dx
jne 0x42cd56
xor eax, eax
jmp 0x42cd81
sbb eax, eax
or eax, 1
test eax, eax
je 0x42cdd6
lea edi, [edi + esi*2]
add edi, 2
mov esi, edi
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x42cd90
sub esi, ecx
sar esi, 1
jne 0x42cc95
mov esi, dword [ebp - 0xc38]
push esi
push str.CInternal::getFirefoxProfilePath
push str._UNO___s___s
call fcn.00422df0
mov ecx, dword [ebp - 4]
add esp, 0xc
xor ecx, ebp
pop edi
pop esi
mov eax, 1
pop ebx
call fcn.00487c50
mov esp, ebp
pop ebp
ret 4
mov esi, dword [ebp - 0xc38]
lea eax, [ebp - 0x61c]
push eax
cmp ebx, 1
jne 0x42ce04
lea eax, [ebp - 0x414]
push eax
push str._s_s
push 0x104
push esi
call fcn.004866c6
add esp, 0x14
jmp 0x42cdab
push 0x104
push esi
call fcn.00488884
add esp, 0xc
jmp 0x42cdab