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

Disassembly:
push ebp
sub esp, 0x80
lea ebp, [esp - 4]
mov eax, dword [0x59d300]
xor eax, ebp
mov dword [ebp + 0x80], eax
push 0x8c
mov eax, 0x53791c
call fcn.00506664
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.0040be1c
push 0xffffffffffffffff
push ebx
lea eax, [edi + 0x20]
mov ecx, esi
mov dword [ebp - 4], ebx
call fcn.0040b405
call fcn.0040dbda
cmp byte [eax], bl
jne 0x43057b
lea eax, [ebp - 0x98]
push eax
call fcn.0040d9e1
mov eax, esi
push eax
push 0x543368
lea eax, [ebp - 0x90]
push str.CFirefoxBrowser::CopyXmlToProgramFiles___Copy_from
push eax
mov byte [ebp - 4], 1
call fcn.0040c0a0
pop ecx
pop ecx
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push eax
call fcn.0040b612
pop ecx
pop ecx
lea eax, [ebp + 0x64]
push eax
lea ecx, [ebp - 0x98]
call fcn.0040bf31
lea edi, [ebp + 0x64]
mov byte [ebp - 4], 2
call fcn.0040ba4e
push ebx
push 1
mov esi, edi
call fcn.0040dac5
lea eax, [ebp - 0x98]
mov byte [ebp - 4], bl
call fcn.0040c22b
jmp 0x4306ab
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 3
call fcn.0040b935
mov byte [ebp - 4], 4
call fcn.0040dbda
lea ecx, [ebp + 0x64]
call fcn.0040b84b
mov byte [ebp - 4], 5
cmp dword [eax + 0x18], 8
jb 0x4305ab
mov esi, dword [eax + 4]
jmp 0x4305ae
lea esi, [eax + 4]
lea eax, [ebp - 0x90]
push 0x54331c
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push esi
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push 0x543314
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push str.CFirefoxBrowser::CopyXmlToProgramFiles___Copy_from
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push 0x543368
push eax
call fcn.0040c0a0
pop ecx
pop ecx
lea ecx, [ebp + 0x10]
push ecx
push eax
call fcn.0040b612
pop ecx
pop ecx
push ebx
push 1
lea esi, [ebp + 0x64]
mov byte [ebp - 4], 4
call fcn.0040dac5
lea eax, [ebp + 4]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
mov esi, 0x2710
push esi
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 0x43065e
lea eax, [ebp + 0x64]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040b831
push 0x23b
push str..FirefoxBrowser.cpp
push eax
push esi
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
push ebx
push 1
lea esi, [ebp + 0x64]
call fcn.0040dac5
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.0040b8a0
mov dword [ebp - 4], ebx
jmp 0x4306ab
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.0042fdff
mov eax, dword [ebp + 0x30]
pop ecx
pop ecx
push 8
pop esi
cmp dword [ebp + 0x44], esi
jae 0x4306e7
lea eax, [ebp + 0x30]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
jne 0x4308e1
mov eax, dword [ebp]
push 0xffffffffffffffff
push ebx
add eax, 0x20
lea ecx, [ebp + 0x2c]
call fcn.0040b405
mov ecx, dword [ebp + 0x30]
cmp dword [ebp + 0x44], esi
jae 0x430713
lea ecx, [ebp + 0x30]
mov eax, dword [ebp + 0x14]
cmp dword [ebp + 0x28], esi
jae 0x43071e
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.0040dbda
cmp byte [eax], bl
jne 0x4307ab
lea eax, [ebp - 0x98]
push eax
call fcn.0040d9e1
lea eax, [ebp + 0x2c]
push eax
push 0x543368
lea eax, [ebp - 0x90]
push str.CFirefoxBrowser::CopyXmlToProgramFiles___Copy_to
push eax
mov byte [ebp - 4], 0xc
call fcn.0040c0a0
pop ecx
pop ecx
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push eax
call fcn.0040b612
pop ecx
pop ecx
lea eax, [ebp + 0x64]
push eax
lea ecx, [ebp - 0x98]
call fcn.0040bf31
lea edi, [ebp + 0x64]
mov byte [ebp - 4], 0xd
call fcn.0040ba4e
push ebx
push 1
mov esi, edi
call fcn.0040dac5
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0xb
call fcn.0040c22b
jmp 0x4308e1
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 0xe
call fcn.0040b935
mov byte [ebp - 4], 0xf
call fcn.0040dbda
lea ecx, [ebp + 0x64]
call fcn.0040b84b
mov byte [ebp - 4], 0x10
cmp dword [eax + 0x18], esi
jb 0x4307da
mov esi, dword [eax + 4]
jmp 0x4307dd
lea esi, [eax + 4]
lea eax, [ebp - 0x90]
push 0x54331c
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push esi
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push 0x543314
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push str.CFirefoxBrowser::CopyXmlToProgramFiles___Copy_to
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push 0x543368
push eax
call fcn.0040c0a0
pop ecx
pop ecx
lea ecx, [ebp + 0x2c]
push ecx
push eax
call fcn.0040b612
pop ecx
pop ecx
push ebx
push 1
lea esi, [ebp + 0x64]
mov byte [ebp - 4], 0xf
call fcn.0040dac5
lea eax, [ebp + 4]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
mov esi, 0x2710
push esi
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 0x43088d
lea eax, [ebp + 0x64]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040b831
push 0x243
push str..FirefoxBrowser.cpp
push eax
push esi
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
push ebx
push 1
lea esi, [ebp + 0x64]
call fcn.0040dac5
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.0040b8a0
mov dword [ebp - 4], 0xb
jmp 0x4308e1
cmp dword [ebp + 0x5c], ebx
je 0x430df7
call fcn.0040dbda
cmp byte [eax], bl
jne 0x43094f
lea eax, [ebp - 0x98]
push eax
call fcn.0040d9e1
lea eax, [ebp - 0x90]
push str.CFirefoxBrowser::CopyXmlToProgramFiles_firefox_version_is_less_than_21
push eax
mov byte [ebp - 4], 0x15
call fcn.0040c0a0
pop ecx
pop ecx
lea eax, [ebp + 0x64]
push eax
lea ecx, [ebp - 0x98]
call fcn.0040bf31
lea edi, [ebp + 0x64]
mov byte [ebp - 4], 0x16
call fcn.0040ba4e
push ebx
push 1
mov esi, edi
call fcn.0040dac5
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0xb
call fcn.0040c22b
jmp 0x430a6d
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 0x17
call fcn.0040b935
mov byte [ebp - 4], 0x18
call fcn.0040dbda
lea ecx, [ebp + 0x64]
call fcn.0040b84b
mov byte [ebp - 4], 0x19
cmp dword [eax + 0x18], 8
jb 0x43097f
mov esi, dword [eax + 4]
jmp 0x430982
lea esi, [eax + 4]
lea eax, [ebp - 0x90]
push 0x54331c
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push esi
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push 0x543314
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push str.CFirefoxBrowser::CopyXmlToProgramFiles_firefox_version_is_less_than_21
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push ebx
push 1
lea esi, [ebp + 0x64]
mov byte [ebp - 4], 0x18
call fcn.0040dac5
lea eax, [ebp + 4]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
mov esi, 0x2710
push esi
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 0x430a19
lea eax, [ebp + 0x64]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040b831
push 0x247
push str..FirefoxBrowser.cpp
push eax
push esi
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
push ebx
push 1
lea esi, [ebp + 0x64]
call fcn.0040dac5
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.0040b8a0
mov dword [ebp - 4], 0xb
jmp 0x430a6d
cmp dword [ebp + 0x60], 8
mov eax, dword [ebp + 0x4c]
jae 0x430a79
lea eax, [ebp + 0x4c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x430c18
call fcn.0040dbda
cmp byte [eax], bl
jne 0x430aed
lea eax, [ebp - 0x98]
push eax
call fcn.0040d9e1
lea eax, [ebp - 0x90]
push str.CFirefoxBrowser::CopyXmlToProgramFiles_create_browser_folder
push eax
mov byte [ebp - 4], 0x1e
call fcn.0040c0a0
pop ecx
pop ecx
lea eax, [ebp + 0x64]
push eax
lea ecx, [ebp - 0x98]
call fcn.0040bf31
lea edi, [ebp + 0x64]
mov byte [ebp - 4], 0x1f
call fcn.0040ba4e
push ebx
push 1
mov esi, edi
call fcn.0040dac5
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0xb
call fcn.0040c22b
jmp 0x430c0b
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 0x20
call fcn.0040b935
mov byte [ebp - 4], 0x21
call fcn.0040dbda
lea ecx, [ebp + 0x64]
call fcn.0040b84b
mov byte [ebp - 4], 0x22
cmp dword [eax + 0x18], 8
jb 0x430b1d
mov esi, dword [eax + 4]
jmp 0x430b20
lea esi, [eax + 4]
lea eax, [ebp - 0x90]
push 0x54331c
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push esi
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push 0x543314
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push str.CFirefoxBrowser::CopyXmlToProgramFiles_create_browser_folder
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push ebx
push 1
lea esi, [ebp + 0x64]
mov byte [ebp - 4], 0x21
call fcn.0040dac5
lea eax, [ebp + 4]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
mov esi, 0x2710
push esi
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 0x430bb7
lea eax, [ebp + 0x64]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040b831
push 0x24a
push str..FirefoxBrowser.cpp
push eax
push esi
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
push ebx
push 1
lea esi, [ebp + 0x64]
call fcn.0040dac5
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.0040b8a0
mov dword [ebp - 4], 0xb
jmp 0x430c0b
lea eax, [ebp + 0x48]
push 1
push eax
call fcn.0047307c
pop ecx
pop ecx
mov eax, dword [ebp]
push 0xffffffffffffffff
push ebx
add eax, 0x20
lea ecx, [ebp + 0x48]
call fcn.0040b405
cmp dword [ebp + 0x60], 8
mov ecx, dword [ebp + 0x4c]
jae 0x430c35
lea ecx, [ebp + 0x4c]
cmp dword [ebp + 0x28], 8
mov eax, dword [ebp + 0x14]
jae 0x430c41
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.0040dbda
cmp byte [eax], bl
jne 0x430cce
lea eax, [ebp - 0x98]
push eax
call fcn.0040d9e1
lea eax, [ebp + 0x48]
push eax
push 0x543368
lea eax, [ebp - 0x90]
push str.CFirefoxBrowser::CopyXmlToProgramFiles___Copy_to
push eax
mov byte [ebp - 4], 0x27
call fcn.0040c0a0
pop ecx
pop ecx
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push eax
call fcn.0040b612
pop ecx
pop ecx
lea eax, [ebp + 0x64]
push eax
lea ecx, [ebp - 0x98]
call fcn.0040bf31
lea edi, [ebp + 0x64]
mov byte [ebp - 4], 0x28
call fcn.0040ba4e
push ebx
push 1
mov esi, edi
call fcn.0040dac5
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0xb
call fcn.0040c22b
jmp 0x430df7
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 0x29
call fcn.0040b935
mov byte [ebp - 4], 0x2a
call fcn.0040dbda
lea ecx, [ebp + 0x64]
call fcn.0040b84b
mov byte [ebp - 4], 0x2b
cmp dword [eax + 0x18], 8
jb 0x430cfe
mov esi, dword [eax + 4]
jmp 0x430d01
lea esi, [eax + 4]
lea eax, [ebp - 0x90]
push 0x54331c
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push esi
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push 0x543314
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push str.CFirefoxBrowser::CopyXmlToProgramFiles___Copy_to
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push 0x543368
push eax
call fcn.0040c0a0
pop ecx
pop ecx
lea ecx, [ebp + 0x48]
push ecx
push eax
call fcn.0040b612
pop ecx
pop ecx
push ebx
push 1
lea esi, [ebp + 0x64]
mov byte [ebp - 4], 0x2a
call fcn.0040dac5
lea eax, [ebp + 4]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
mov esi, 0x2710
push esi
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 0x430db1
lea eax, [ebp + 0x64]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040b831
push 0x24f
push str..FirefoxBrowser.cpp
push eax
push esi
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
push ebx
push 1
lea esi, [ebp + 0x64]
call fcn.0040dac5
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.0040b8a0
jmp 0x430df7
push ebx
push 1
lea esi, [ebp + 0x48]
call fcn.0040dac5
push ebx
push 1
lea esi, [ebp + 0x2c]
call fcn.0040dac5
push ebx
push 1
lea esi, [ebp + 0x10]
call fcn.0040dac5
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.004ffa47
add ebp, 0x84
leave
ret