Function at 0x4b75fb
Capabilities:
Check if file exists
Copy file

Disassembly:
push ebp
sub esp, 0x80
lea ebp, [esp - 4]
mov eax, dword [0x601328]
xor eax, ebp
mov dword [ebp + 0x80], eax
push 0x8c
mov eax, 0x587350
call fcn.0054d40c
mov edi, ecx
lea eax, [edi + 4]
xor ebx, ebx
push eax
lea esi, [ebp + 0x10]
mov dword [ebp], edi
mov byte [ebp + 0xf], bl
call fcn.00406fb0
push ebx
add edi, 0x20
push edi
or eax, 0xffffffff
mov dword [ebp - 4], ebx
call fcn.004117d0
call fcn.00462c28
cmp byte [eax], bl
jne 0x4b76c1
lea eax, [ebp - 0x98]
push eax
call fcn.00409b60
mov eax, esi
push eax
push 0x5967ac
lea eax, [ebp - 0x90]
push str.CFirefoxBrowser::CopyXmlToProgramFiles___Copy_from
push eax
mov byte [ebp - 4], 1
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 + 0x64]
lea eax, [ebp - 0x98]
call fcn.00407170
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 2
call fcn.00406a80
lea ecx, [ebp + 0x64]
call fcn.00409c40
lea eax, [ebp - 0x98]
mov byte [ebp - 4], bl
call fcn.00407660
jmp 0x4b77ea
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 3
call fcn.004068d0
mov byte [ebp - 4], 4
call fcn.00462c28
lea esi, [ebp + 0x64]
call fcn.00406720
mov byte [ebp - 4], 5
cmp dword [eax + 0x18], 8
jb 0x4b76f1
mov esi, dword [eax + 4]
jmp 0x4b76f4
lea esi, [eax + 4]
lea eax, [ebp - 0x90]
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.CFirefoxBrowser::CopyXmlToProgramFiles___Copy_from
push eax
call fcn.00407390
pop ecx
pop ecx
push 0x5967ac
push eax
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp + 0x10]
push ecx
push eax
call fcn.00411b20
pop ecx
pop ecx
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 4
call fcn.00409c40
lea eax, [ebp + 4]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
mov edi, 0x2710
push edi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 6
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
cmp al, bl
je 0x4b779d
lea ecx, [ebp + 0x64]
lea eax, [ebp - 0x90]
call fcn.00406700
push 0x23b
push str..FirefoxBrowser.cpp
push eax
push edi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 7
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 + 0x64]
call fcn.00409c40
lea ecx, [ebp + 4]
mov byte [ebp - 4], 4
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 3
call fcn.004067e0
mov dword [ebp - 4], ebx
jmp 0x4b77ef
mov edi, 0x2710
push 7
pop eax
xor ecx, ecx
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x40], ebx
mov word [ebp + 0x30], cx
mov dword [ebp + 0x60], eax
xor eax, eax
mov dword [ebp + 0x5c], ebx
mov word [ebp + 0x4c], ax
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x2c]
push eax
mov byte [ebp - 4], 0xb
call fcn.004b6f8d
cmp dword [ebp + 0x44], 8
mov eax, dword [ebp + 0x30]
pop ecx
pop ecx
jae 0x4b7829
lea eax, [ebp + 0x30]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
jne 0x4b7a1e
mov eax, dword [ebp]
add eax, 0x20
push ebx
push eax
or eax, 0xffffffff
lea esi, [ebp + 0x2c]
call fcn.004117d0
cmp dword [ebp + 0x44], 8
mov ecx, dword [ebp + 0x30]
jae 0x4b7858
lea ecx, [ebp + 0x30]
cmp dword [ebp + 0x28], 8
mov eax, dword [ebp + 0x14]
jae 0x4b7864
lea eax, [ebp + 0x14]
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
setne byte [ebp + 0xf]
call fcn.00462c28
cmp byte [eax], bl
jne 0x4b78ee
lea eax, [ebp - 0x98]
push eax
call fcn.00409b60
lea eax, [ebp + 0x2c]
push eax
push 0x5967ac
lea eax, [ebp - 0x90]
push str.CFirefoxBrowser::CopyXmlToProgramFiles___Copy_to
push eax
mov byte [ebp - 4], 0xc
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 + 0x64]
lea eax, [ebp - 0x98]
call fcn.00407170
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0xd
call fcn.00406a80
lea ecx, [ebp + 0x64]
call fcn.00409c40
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0xb
call fcn.00407660
jmp 0x4b7a1e
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 0xe
call fcn.004068d0
mov byte [ebp - 4], 0xf
call fcn.00462c28
lea esi, [ebp + 0x64]
call fcn.00406720
mov byte [ebp - 4], 0x10
cmp dword [eax + 0x18], 8
jb 0x4b791e
mov esi, dword [eax + 4]
jmp 0x4b7921
lea esi, [eax + 4]
lea eax, [ebp - 0x90]
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.CFirefoxBrowser::CopyXmlToProgramFiles___Copy_to
push eax
call fcn.00407390
pop ecx
pop ecx
push 0x5967ac
push eax
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp + 0x2c]
push ecx
push eax
call fcn.00411b20
pop ecx
pop ecx
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0xf
call fcn.00409c40
lea eax, [ebp + 4]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
push edi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x11
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
cmp al, bl
je 0x4b79c5
lea ecx, [ebp + 0x64]
lea eax, [ebp - 0x90]
call fcn.00406700
push 0x243
push str..FirefoxBrowser.cpp
push eax
push edi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x12
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 + 0x64]
call fcn.00409c40
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0xf
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0xe
call fcn.004067e0
mov dword [ebp - 4], 0xb
jmp 0x4b7a1e
cmp dword [ebp + 0x5c], ebx
je 0x4b7df5
call fcn.00462c28
cmp byte [eax], bl
jne 0x4b7a89
lea eax, [ebp - 0x98]
push eax
call fcn.00409b60
lea eax, [ebp - 0x90]
push str.CFirefoxBrowser::CopyXmlToProgramFiles_firefox_version_is_less_than_21
push eax
mov byte [ebp - 4], 0x15
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp + 0x64]
lea eax, [ebp - 0x98]
call fcn.00407170
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x16
call fcn.00406a80
lea ecx, [ebp + 0x64]
call fcn.00409c40
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0xb
call fcn.00407660
jmp 0x4b7ba0
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 0x17
call fcn.004068d0
mov byte [ebp - 4], 0x18
call fcn.00462c28
lea esi, [ebp + 0x64]
call fcn.00406720
mov byte [ebp - 4], 0x19
cmp dword [eax + 0x18], 8
jb 0x4b7ab9
mov esi, dword [eax + 4]
jmp 0x4b7abc
lea esi, [eax + 4]
lea eax, [ebp - 0x90]
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.CFirefoxBrowser::CopyXmlToProgramFiles_firefox_version_is_less_than_21
push eax
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x18
call fcn.00409c40
lea eax, [ebp + 4]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
push edi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x1a
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
cmp al, bl
je 0x4b7b47
lea ecx, [ebp + 0x64]
lea eax, [ebp - 0x90]
call fcn.00406700
push 0x247
push str..FirefoxBrowser.cpp
push eax
push edi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x1b
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 + 0x64]
call fcn.00409c40
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x18
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x17
call fcn.004067e0
mov dword [ebp - 4], 0xb
jmp 0x4b7ba0
cmp dword [ebp + 0x60], 8
mov eax, dword [ebp + 0x4c]
jae 0x4b7bac
lea eax, [ebp + 0x4c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4b7d41
call fcn.00462c28
cmp byte [eax], bl
jne 0x4b7c1d
lea eax, [ebp - 0x98]
push eax
call fcn.00409b60
lea eax, [ebp - 0x90]
push str.CFirefoxBrowser::CopyXmlToProgramFiles_create_browser_folder
push eax
mov byte [ebp - 4], 0x1e
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp + 0x64]
lea eax, [ebp - 0x98]
call fcn.00407170
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x1f
call fcn.00406a80
lea ecx, [ebp + 0x64]
call fcn.00409c40
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0xb
call fcn.00407660
jmp 0x4b7d34
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 0x20
call fcn.004068d0
mov byte [ebp - 4], 0x21
call fcn.00462c28
lea esi, [ebp + 0x64]
call fcn.00406720
mov byte [ebp - 4], 0x22
cmp dword [eax + 0x18], 8
jb 0x4b7c4d
mov esi, dword [eax + 4]
jmp 0x4b7c50
lea esi, [eax + 4]
lea eax, [ebp - 0x90]
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.CFirefoxBrowser::CopyXmlToProgramFiles_create_browser_folder
push eax
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x21
call fcn.00409c40
lea eax, [ebp + 4]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
push edi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x23
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
cmp al, bl
je 0x4b7cdb
lea ecx, [ebp + 0x64]
lea eax, [ebp - 0x90]
call fcn.00406700
push 0x24a
push str..FirefoxBrowser.cpp
push eax
push edi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x24
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 + 0x64]
call fcn.00409c40
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x21
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x20
call fcn.004067e0
mov dword [ebp - 4], 0xb
jmp 0x4b7d34
lea eax, [ebp + 0x48]
push 1
push eax
call fcn.004990ee
pop ecx
pop ecx
mov eax, dword [ebp]
add eax, 0x20
push ebx
push eax
or eax, 0xffffffff
lea esi, [ebp + 0x48]
call fcn.004117d0
cmp dword [ebp + 0x60], 8
mov ecx, dword [ebp + 0x4c]
jae 0x4b7d60
lea ecx, [ebp + 0x4c]
cmp dword [ebp + 0x28], 8
mov eax, dword [ebp + 0x14]
jae 0x4b7d6c
lea eax, [ebp + 0x14]
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
setne byte [ebp + 0xf]
call fcn.00462c28
cmp byte [eax], bl
jne 0x4b7e33
lea eax, [ebp - 0x98]
push eax
call fcn.00409b60
lea eax, [ebp + 0x48]
push eax
push 0x5967ac
lea eax, [ebp - 0x90]
push str.CFirefoxBrowser::CopyXmlToProgramFiles___Copy_to
push eax
mov byte [ebp - 4], 0x27
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 + 0x64]
lea eax, [ebp - 0x98]
call fcn.00407170
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x28
call fcn.00406a80
lea ecx, [ebp + 0x64]
call fcn.00409c40
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0xb
call fcn.00407660
lea ecx, [ebp + 0x48]
call fcn.00409c40
lea ecx, [ebp + 0x2c]
call fcn.00409c40
lea ecx, [ebp + 0x10]
call fcn.00409c40
mov al, byte [ebp + 0xf]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x80]
xor ecx, ebp
call fcn.0054677c
add ebp, 0x84
leave
ret
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 0x29
call fcn.004068d0
mov byte [ebp - 4], 0x2a
call fcn.00462c28
lea esi, [ebp + 0x64]
call fcn.00406720
mov byte [ebp - 4], 0x2b
cmp dword [eax + 0x18], 8
jb 0x4b7e63
mov esi, dword [eax + 4]
jmp 0x4b7e66
lea esi, [eax + 4]
lea eax, [ebp - 0x90]
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.CFirefoxBrowser::CopyXmlToProgramFiles___Copy_to
push eax
call fcn.00407390
pop ecx
pop ecx
push 0x5967ac
push eax
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp + 0x48]
push ecx
push eax
call fcn.00411b20
pop ecx
pop ecx
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x2a
call fcn.00409c40
lea eax, [ebp + 4]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
push edi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x2c
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
cmp al, bl
je 0x4b7f0a
lea ecx, [ebp + 0x64]
lea eax, [ebp - 0x90]
call fcn.00406700
push 0x24f
push str..FirefoxBrowser.cpp
push eax
push edi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x2d
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 + 0x64]
call fcn.00409c40
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x2a
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x29
call fcn.004067e0
jmp 0x4b7df5