Function at 0x4648cb
Capabilities:
Check if file exists

Disassembly:
push 0x1dc
mov eax, 0x57391b
call fcn.0054d478
mov eax, dword [ebp + 8]
and dword [ebp - 0x154], 0
mov esi, ecx
mov dword [ebp - 0x150], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x15c], esi
mov dword [ebp - 0x144], eax
test esi, esi
je 0x46527b
test eax, eax
je 0x46527b
call fcn.00462c28
cmp byte [eax], 0
jne 0x4649aa
lea eax, [ebp - 0x1e8]
push eax
call fcn.00409b60
mov eax, esi
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 9
call fcn.004066c0
push eax
push ecx
mov edi, 0x5967ac
push edi
push ecx
lea eax, [ebp - 0x1e0]
push str.CSystemCommands::GetConfigurationValue_sConfigurationFilename
push eax
mov byte [ebp - 4], 0xa
call fcn.00407390
add esp, 0xc
push eax
call fcn.00407390
add esp, 0xc
push eax
call fcn.00411b20
pop ecx
pop ecx
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 9
call fcn.00409c40
lea ecx, [ebp - 0x4c]
lea eax, [ebp - 0x1e8]
call fcn.00407170
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xb
call fcn.00406a80
lea ecx, [ebp - 0x4c]
call fcn.00409c40
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1e8]
call fcn.00407660
jmp 0x464b02
lea eax, [ebp - 0x1e0]
push eax
mov dword [ebp - 4], 0xc
call fcn.004068d0
mov eax, esi
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0xd
call fcn.004066c0
mov ebx, eax
mov byte [ebp - 4], 0xe
call fcn.00462c28
lea esi, [ebp - 0x30]
call fcn.00406720
mov byte [ebp - 4], 0xf
cmp dword [eax + 0x18], 8
jb 0x4649f0
mov esi, dword [eax + 4]
jmp 0x4649f3
lea esi, [eax + 4]
lea eax, [ebp - 0x1e0]
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.CSystemCommands::GetConfigurationValue_sConfigurationFilename
push eax
call fcn.00407390
pop ecx
pop ecx
mov edi, 0x5967ac
push edi
push eax
call fcn.00407390
pop ecx
pop ecx
push ebx
push eax
call fcn.00411b20
pop ecx
pop ecx
lea ecx, [ebp - 0x30]
call fcn.00409c40
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0xd
call fcn.00409c40
lea eax, [ebp - 0x158]
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 - 0x158]
mov byte [ebp - 4], 0x10
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x464aae
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x1e0]
call fcn.00406700
push 0x278
push str..SystemCommands.cpp
push eax
push ebx
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x11
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 - 0x158]
mov byte [ebp - 4], 0xd
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x1e0]
mov byte [ebp - 4], 0xc
call fcn.004067e0
or dword [ebp - 4], 0xffffffff
jmp 0x464b07
mov ebx, 0x2710
call fcn.00462c28
cmp byte [eax], 0
jne 0x464ba5
lea eax, [ebp - 0x1e8]
push eax
call fcn.00409b60
mov eax, dword [ebp - 0x144]
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x14
call fcn.004066c0
push eax
push ecx
push edi
push ecx
lea eax, [ebp - 0x1e0]
push str.CSystemCommands::GetConfigurationValue_sTagName
push eax
mov byte [ebp - 4], 0x15
call fcn.00407390
add esp, 0xc
push eax
call fcn.00407390
add esp, 0xc
push eax
call fcn.00411b20
pop ecx
pop ecx
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x14
call fcn.00409c40
lea ecx, [ebp - 0x4c]
lea eax, [ebp - 0x1e8]
call fcn.00407170
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x16
call fcn.00406a80
lea ecx, [ebp - 0x4c]
call fcn.00409c40
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1e8]
call fcn.00407660
jmp 0x464d00
lea eax, [ebp - 0x1e0]
push eax
mov dword [ebp - 4], 0x17
call fcn.004068d0
mov eax, dword [ebp - 0x144]
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x18
call fcn.004066c0
mov dword [ebp - 0x154], eax
mov byte [ebp - 4], 0x19
call fcn.00462c28
lea esi, [ebp - 0x30]
call fcn.00406720
mov byte [ebp - 4], 0x1a
cmp dword [eax + 0x18], 8
jb 0x464bf3
mov esi, dword [eax + 4]
jmp 0x464bf6
lea esi, [eax + 4]
lea eax, [ebp - 0x1e0]
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.CSystemCommands::GetConfigurationValue_sTagName
push eax
call fcn.00407390
pop ecx
pop ecx
push edi
push eax
call fcn.00407390
pop ecx
pop ecx
push dword [ebp - 0x154]
push eax
call fcn.00411b20
pop ecx
pop ecx
lea ecx, [ebp - 0x30]
call fcn.00409c40
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x18
call fcn.00409c40
lea eax, [ebp - 0x14c]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
push ebx
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x1b
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x464cac
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x1e0]
call fcn.00406700
push 0x279
push str..SystemCommands.cpp
push eax
push ebx
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x1c
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 - 0x14c]
mov byte [ebp - 4], 0x18
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x1e0]
mov byte [ebp - 4], 0x17
call fcn.004067e0
or dword [ebp - 4], 0xffffffff
jmp 0x464d00
push dword [ebp - 0x15c]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x464e73
call fcn.00462c28
cmp byte [eax], 0
jne 0x464d66
lea eax, [ebp - 0x1e8]
push eax
call fcn.00409b60
lea eax, [ebp - 0x1e0]
push str.CSystemCommands::GetConfigurationValue_sConfigurationFilename_doesnt_exist
push eax
mov dword [ebp - 4], 0x1f
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp - 0x4c]
lea eax, [ebp - 0x1e8]
call fcn.00407170
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x20
call fcn.00406a80
lea ecx, [ebp - 0x4c]
jmp 0x4652c5
lea eax, [ebp - 0x1e0]
push eax
mov dword [ebp - 4], 0x21
call fcn.004068d0
mov byte [ebp - 4], 0x22
call fcn.00462c28
lea esi, [ebp - 0x30]
call fcn.00406720
mov byte [ebp - 4], 0x23
cmp dword [eax + 0x18], 8
jb 0x464d99
mov esi, dword [eax + 4]
jmp 0x464d9c
lea esi, [eax + 4]
lea eax, [ebp - 0x1e0]
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.CSystemCommands::GetConfigurationValue_sConfigurationFilename_doesnt_exist
push eax
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x22
call fcn.00409c40
lea eax, [ebp - 0x14c]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
push ebx
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x24
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x464e30
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x1e0]
call fcn.00406700
push 0x27c
push str..SystemCommands.cpp
push eax
push ebx
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x25
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 - 0x14c]
mov byte [ebp - 4], 0x22
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
mov byte [ebp - 4], 0x21
jmp 0x4653d7
mov eax, dword [ebp - 0x144]
lea ecx, [ebp - 0x84]
call fcn.004066c0
mov esi, eax
mov eax, str.Toolbar_
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x28
call fcn.004066c0
push esi
push eax
lea edi, [ebp - 0x68]
mov byte [ebp - 4], 0x29
call fcn.004116c0
pop ecx
pop ecx
lea ecx, [ebp - 0x30]
call fcn.00409c40
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x2c
call fcn.00409c40
mov ecx, dword [ebp - 0x15c]
lea eax, [ebp - 0xd8]
push eax
mov edx, str.Toolbar_Installation_FolderName
call fcn.00465416
pop ecx
mov byte [ebp - 4], 0x2d
cmp dword [ebp - 0xc4], 0
jne 0x46508f
call fcn.00462c28
cmp byte [eax], 0
jne 0x464f70
lea eax, [ebp - 0x1e8]
push eax
call fcn.00409b60
lea eax, [ebp - 0x1e0]
push str.CSystemCommands::GetConfigurationValue_sIEFolderName_empty.
push eax
mov byte [ebp - 4], 0x2e
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp - 0x4c]
lea eax, [ebp - 0x1e8]
call fcn.00407170
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x2f
call fcn.00406a80
lea ecx, [ebp - 0x4c]
call fcn.00409c40
lea eax, [ebp - 0x1e8]
mov byte [ebp - 4], 0x2d
call fcn.00407660
mov ecx, dword [ebp - 0x150]
mov eax, 0x59672c
call fcn.004066c0
lea ecx, [ebp - 0xd8]
call fcn.00409c40
lea ecx, [ebp - 0x68]
call fcn.00409c40
jmp 0x4652e9
lea eax, [ebp - 0x1e0]
push eax
mov byte [ebp - 4], 0x30
call fcn.004068d0
mov byte [ebp - 4], 0x31
call fcn.00462c28
lea esi, [ebp - 0x30]
call fcn.00406720
mov byte [ebp - 4], 0x32
cmp dword [eax + 0x18], 8
jb 0x464fa0
mov esi, dword [eax + 4]
jmp 0x464fa3
lea esi, [eax + 4]
lea eax, [ebp - 0x1e0]
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.CSystemCommands::GetConfigurationValue_sIEFolderName_empty.
push eax
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x31
call fcn.00409c40
lea eax, [ebp - 0x14c]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
push ebx
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x33
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x465037
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x1e0]
call fcn.00406700
push 0x283
push str..SystemCommands.cpp
push eax
push ebx
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x34
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 - 0x14c]
mov byte [ebp - 4], 0x31
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x1e0]
mov byte [ebp - 4], 0x30
call fcn.004067e0
mov dword [ebp - 4], 0x2d
jmp 0x464f48
and dword [ebp - 0xa8], 0
xor eax, eax
mov dword [ebp - 0xa4], 7
mov word [ebp - 0xb8], ax
lea eax, [ebp - 0xd8]
push eax
lea esi, [ebp - 0xf4]
mov byte [ebp - 4], 0x37
call fcn.00406fb0
push 1
push SysReAllocString
mov eax, esi
push eax
lea eax, [ebp - 0x140]
push eax
mov byte [ebp - 4], 0x38
call fcn.0046ed07
and dword [ebp - 0x144], 0
lea esi, [ebp - 0x154]
call fcn.00403ee0
push dword [ebp - 0x144]
mov edi, esi
push str.cache_file_
push str._s_d
mov byte [ebp - 4], 0x3a
call fcn.00405c00
add esp, 0xc
mov eax, 0x59672c
lea ecx, [ebp - 0x30]
call fcn.004066c0
mov byte [ebp - 4], 0x3b
mov eax, dword [ebp - 0x154]
lea ecx, [ebp - 0x84]
call fcn.004066c0
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x84]
lea edx, [ebp - 0x140]
mov byte [ebp - 4], 0x3c
call fcn.0046f7c4
mov byte [ebp - 4], 0x3d
cmp dword [ebp - 0x8c], 0
setne bl
test bl, bl
je 0x4651ac
cmp dword [ebp - 0x50], 8
mov edx, dword [ebp - 0x64]
jae 0x465169
lea edx, [ebp - 0x64]
cmp dword [ebp - 0x88], 8
mov ecx, dword [ebp - 0x9c]
jae 0x46517e
lea ecx, [ebp - 0x9c]
lea eax, [ebp - 0x4c]
push eax
call fcn.00465416
pop ecx
mov byte [ebp - 4], 0x3e
cmp dword [ebp - 0x38], 0
je 0x4651a4
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0xbc]
call fcn.00406f00
lea ecx, [ebp - 0x4c]
call fcn.00409c40
inc dword [ebp - 0x144]
lea ecx, [ebp - 0xa0]
call fcn.00409c40
lea ecx, [ebp - 0x84]
call fcn.00409c40
lea ecx, [ebp - 0x30]
call fcn.00409c40
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x39
call fcn.00409cb0
test bl, bl
jne 0x4650e0
cmp dword [ebp - 0xa8], 0
jne 0x465231
cmp dword [ebp - 0x50], 8
mov edx, dword [ebp - 0x64]
jae 0x4651fc
lea edx, [ebp - 0x64]
mov ecx, dword [ebp - 0x15c]
lea eax, [ebp - 0xa0]
push eax
call fcn.00465416
pop ecx
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x3f
call fcn.00406f00
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x39
call fcn.00409c40
mov esi, dword [ebp - 0x150]
lea eax, [ebp - 0xbc]
push eax
call fcn.00406fb0
lea ecx, [ebp - 0x140]
call fcn.00415ec0
lea ecx, [ebp - 0xf4]
call fcn.00409c40
lea ecx, [ebp - 0xbc]
call fcn.00409c40
lea ecx, [ebp - 0xd8]
call fcn.00409c40
lea ecx, [ebp - 0x68]
call fcn.00409c40
mov eax, esi
jmp 0x4652ef
call fcn.00462c28
cmp byte [eax], 0
jne 0x4652f5
lea eax, [ebp - 0x1e8]
push eax
call fcn.00409b60
and dword [ebp - 4], 0
lea eax, [ebp - 0x1e0]
push str.CSystemCommands::GetConfigurationValue_pinters_are_NULL__
push eax
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x1e8]
call fcn.00407170
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.00406a80
lea ecx, [ebp - 0x30]
call fcn.00409c40
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1e8]
call fcn.00407660
mov ecx, dword [ebp - 0x150]
mov eax, 0x59672c
call fcn.004066c0
mov eax, dword [ebp - 0x150]
call fcn.0054d4d4
ret
lea eax, [ebp - 0x1e0]
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 0x465328
mov esi, dword [eax + 4]
jmp 0x46532b
lea esi, [eax + 4]
lea eax, [ebp - 0x1e0]
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.CSystemCommands::GetConfigurationValue_pinters_are_NULL__
push eax
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 3
call fcn.00409c40
lea eax, [ebp - 0x14c]
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 - 0x14c]
mov byte [ebp - 4], 5
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x4653c4
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x1e0]
call fcn.00406700
push 0x274
push str..SystemCommands.cpp
push eax
push ebx
lea ecx, [ebp - 0x14c]
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 - 0x14c]
mov byte [ebp - 4], 3
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
mov byte [ebp - 4], 2
lea eax, [ebp - 0x1e0]
call fcn.004067e0
or dword [ebp - 4], 0xffffffff
jmp 0x4652d9