Function at 0x4c1957
Capabilities:
Check if file exists
Delete file

Disassembly:
push 0x158
mov eax, 0x58b1fc
call fcn.0054d478
mov eax, dword [ebp + 8]
mov dword [ebp - 0xdc], eax
call fcn.00462c28
mov al, byte [eax]
test al, al
jne 0x4c1b4f
lea eax, [ebp - 0x164]
push eax
call fcn.00409b60
and dword [ebp - 4], 0
lea eax, [ebp - 0x15c]
push str.RefreshUserSearchProviderList___start
push eax
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp - 0x68]
lea eax, [ebp - 0x164]
call fcn.00407170
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 1
call fcn.00406a80
lea ecx, [ebp - 0x68]
call fcn.00409c40
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x164]
call fcn.00407660
mov ebx, 0x2710
lea eax, [ebp - 0xbc]
xor esi, esi
push eax
mov dword [ebp - 0xc0], esi
call fcn.004de4c2
pop ecx
mov dword [ebp - 4], 9
xor eax, eax
mov dword [ebp - 0xcc], esi
mov dword [ebp - 0x6c], 7
mov dword [ebp - 0x70], esi
mov word [ebp - 0x80], ax
mov byte [ebp - 4], 0xa
mov edi, 0x5967ac
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0xcc]
call fcn.004de9d6
pop ecx
test al, al
je 0x4c1fb7
lea eax, [ebp - 0xbc]
push eax
lea esi, [ebp - 0xa0]
call fcn.00406fb0
push 0
lea eax, [ebp - 0x84]
push eax
or eax, 0xffffffff
mov byte [ebp - 4], 0xb
call fcn.004117d0
mov eax, esi
push eax
lea esi, [ebp - 0x68]
call fcn.00406fb0
mov eax, str._search.sqlite
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xc
call fcn.004066c0
push 0
push eax
or eax, 0xffffffff
mov byte [ebp - 4], 0xd
call fcn.004117d0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xc
call fcn.00409c40
push dword [ebp - 0xdc]
mov ecx, esi
call fcn.004c0fb0
pop ecx
lea eax, [ebp - 0xa0]
push eax
lea esi, [ebp - 0x4c]
call fcn.00406fb0
mov eax, str._search.json
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xe
call fcn.004066c0
push 0
push eax
or eax, 0xffffffff
mov byte [ebp - 4], 0xf
call fcn.004117d0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xe
call fcn.00409c40
call fcn.00462c28
cmp byte [eax], 0
jne 0x4c1c70
lea eax, [ebp - 0x164]
push eax
call fcn.00409b60
mov eax, esi
push eax
push edi
lea eax, [ebp - 0x15c]
push str.RefreshUserSearchProviderList___check_if_search.json_file_exists___path:
push eax
mov byte [ebp - 4], 0x10
call fcn.00407390
pop ecx
pop ecx
push eax
call fcn.00407390
pop ecx
pop ecx
push eax
call fcn.00411b20
pop ecx
pop ecx
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x164]
call fcn.00407170
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x11
call fcn.00406a80
lea ecx, [ebp - 0x30]
call fcn.00409c40
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0xe
call fcn.00407660
jmp 0x4c1dab
lea eax, [ebp - 0x15c]
push eax
mov dword [ebp - 4], 2
call fcn.004068d0
mov byte [ebp - 4], 3
call fcn.00462c28
lea esi, [ebp - 0x30]
call fcn.00406720
mov byte [ebp - 4], 4
cmp dword [eax + 0x18], 8
jb 0x4c1b82
mov esi, dword [eax + 4]
jmp 0x4c1b85
lea esi, [eax + 4]
lea eax, [ebp - 0x15c]
push 0x5950f8
push eax
call fcn.00407390
pop ecx
pop ecx
push esi
push eax
call fcn.00407390
pop ecx
pop ecx
push 0x5950f0
push eax
call fcn.00407390
pop ecx
pop ecx
push str.RefreshUserSearchProviderList___start
push eax
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 3
call fcn.00409c40
lea eax, [ebp - 0xd0]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
mov ebx, 0x2710
push ebx
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 5
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x4c1c1e
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x15c]
call fcn.00406700
push 0x4e7
push str..FirefoxBrowser.cpp
push eax
push ebx
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 6
call sub.log4cplusU.dll_public:_void___thiscall_log4cplus::Logger::forcedLog_int__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___char_const___int_const
lea ecx, [ebp - 0x30]
call fcn.00409c40
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 3
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 2
call fcn.004067e0
or dword [ebp - 4], 0xffffffff
jmp 0x4c19d7
lea eax, [ebp - 0x15c]
push eax
mov byte [ebp - 4], 0x12
call fcn.004068d0
mov byte [ebp - 4], 0x13
call fcn.00462c28
lea esi, [ebp - 0x30]
call fcn.00406720
mov byte [ebp - 4], 0x14
cmp dword [eax + 0x18], 8
jb 0x4c1ca0
mov esi, dword [eax + 4]
jmp 0x4c1ca3
lea esi, [eax + 4]
lea eax, [ebp - 0x15c]
push 0x5950f8
push eax
call fcn.00407390
pop ecx
pop ecx
push esi
push eax
call fcn.00407390
pop ecx
pop ecx
push 0x5950f0
push eax
call fcn.00407390
pop ecx
pop ecx
push str.RefreshUserSearchProviderList___check_if_search.json_file_exists___path:
push eax
call fcn.00407390
pop ecx
pop ecx
push edi
push eax
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp - 0x4c]
push ecx
push eax
call fcn.00411b20
pop ecx
pop ecx
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x13
call fcn.00409c40
lea eax, [ebp - 0xd8]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
push ebx
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x15
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x4c1d4c
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x15c]
call fcn.00406700
push 0x4f7
push str..FirefoxBrowser.cpp
push eax
push ebx
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x16
call sub.log4cplusU.dll_public:_void___thiscall_log4cplus::Logger::forcedLog_int__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___char_const___int_const
lea ecx, [ebp - 0x30]
call fcn.00409c40
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x13
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x12
call fcn.004067e0
mov dword [ebp - 4], 0xe
jmp 0x4c1dab
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x4c1db7
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
jne 0x4c1f93
call fcn.00462c28
cmp byte [eax], 0
jne 0x4c1e3f
lea eax, [ebp - 0x164]
push eax
call fcn.00409b60
lea eax, [ebp - 0x4c]
push eax
push edi
lea eax, [ebp - 0x15c]
push str.RefreshUserSearchProviderList___try_to_delete_search.json___path:
push eax
mov byte [ebp - 4], 0x19
call fcn.00407390
pop ecx
pop ecx
push eax
call fcn.00407390
pop ecx
pop ecx
push eax
call fcn.00411b20
pop ecx
pop ecx
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x164]
call fcn.00407170
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x1a
call fcn.00406a80
lea ecx, [ebp - 0x30]
call fcn.00409c40
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0xe
call fcn.00407660
jmp 0x4c1f7a
lea eax, [ebp - 0x15c]
push eax
mov byte [ebp - 4], 0x1b
call fcn.004068d0
mov byte [ebp - 4], 0x1c
call fcn.00462c28
lea esi, [ebp - 0x30]
call fcn.00406720
mov byte [ebp - 4], 0x1d
cmp dword [eax + 0x18], 8
jb 0x4c1e6f
mov esi, dword [eax + 4]
jmp 0x4c1e72
lea esi, [eax + 4]
lea eax, [ebp - 0x15c]
push 0x5950f8
push eax
call fcn.00407390
pop ecx
pop ecx
push esi
push eax
call fcn.00407390
pop ecx
pop ecx
push 0x5950f0
push eax
call fcn.00407390
pop ecx
pop ecx
push str.RefreshUserSearchProviderList___try_to_delete_search.json___path:
push eax
call fcn.00407390
pop ecx
pop ecx
push edi
push eax
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp - 0x4c]
push ecx
push eax
call fcn.00411b20
pop ecx
pop ecx
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x1c
call fcn.00409c40
lea eax, [ebp - 0xc8]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
push ebx
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x1e
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x4c1f1b
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x15c]
call fcn.00406700
push 0x4fa
push str..FirefoxBrowser.cpp
push eax
push ebx
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x1f
call sub.log4cplusU.dll_public:_void___thiscall_log4cplus::Logger::forcedLog_int__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___char_const___int_const
lea ecx, [ebp - 0x30]
call fcn.00409c40
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x1c
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x1b
call fcn.004067e0
mov dword [ebp - 4], 0xe
jmp 0x4c1f7a
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x4c1f86
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [ebp - 0xc0], eax
lea ecx, [ebp - 0x4c]
call fcn.00409c40
lea ecx, [ebp - 0x68]
call fcn.00409c40
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0xa
call fcn.00409c40
jmp 0x4c1a12
call fcn.00462c28
cmp byte [eax], 0
jne 0x4c2064
lea eax, [ebp - 0x164]
push eax
call fcn.00409b60
cmp dword [ebp - 0xc0], 0
mov byte [ebp - 4], 0x22
setne al
movzx eax, al
push eax
push edi
lea eax, [ebp - 0x15c]
push str.RefreshUserSearchProviderList___end__return:
push eax
call fcn.00407390
pop ecx
pop ecx
push eax
call fcn.00407390
pop ecx
pop ecx
push eax
call fcn.00411150
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x164]
call fcn.00407170
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x23
call fcn.00406a80
lea ecx, [ebp - 0x30]
call fcn.00409c40
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0xa
call fcn.00407660
lea ecx, [ebp - 0x84]
call fcn.00409c40
lea ecx, [ebp - 0xbc]
call fcn.00409c40
mov eax, dword [ebp - 0xc0]
neg eax
sbb eax, eax
and eax, 0xfffffffb
add eax, 5
call fcn.0054d4d4
ret 4
lea eax, [ebp - 0x15c]
push eax
mov byte [ebp - 4], 0x24
call fcn.004068d0
mov byte [ebp - 4], 0x25
call fcn.00462c28
lea esi, [ebp - 0x30]
call fcn.00406720
mov byte [ebp - 4], 0x26
cmp dword [eax + 0x18], 8
jb 0x4c2094
mov esi, dword [eax + 4]
jmp 0x4c2097
lea esi, [eax + 4]
lea eax, [ebp - 0x15c]
push 0x5950f8
push eax
call fcn.00407390
pop ecx
pop ecx
push esi
push eax
call fcn.00407390
pop ecx
pop ecx
push 0x5950f0
push eax
call fcn.00407390
pop ecx
pop ecx
push str.RefreshUserSearchProviderList___end__return:
push eax
call fcn.00407390
pop ecx
pop ecx
push edi
push eax
call fcn.00407390
cmp dword [ebp - 0xc0], 0
pop ecx
pop ecx
setne cl
movzx ecx, cl
push ecx
push eax
call fcn.00411150
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x25
call fcn.00409c40
lea eax, [ebp - 0xc8]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
push ebx
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x27
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x4c2148
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x15c]
call fcn.00406700
push 0x4fe
push str..FirefoxBrowser.cpp
push eax
push ebx
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x28
call sub.log4cplusU.dll_public:_void___thiscall_log4cplus::Logger::forcedLog_int__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___char_const___int_const
lea ecx, [ebp - 0x30]
call fcn.00409c40
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x25
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x24
call fcn.004067e0
jmp 0x4c2036