Function at 0x40ba2b
Capabilities:
Check if file exists

Disassembly:
push 0x1d4
mov eax, 0x472227
call fcn.0045986c
mov eax, dword [ebp + 8]
mov esi, ecx
xor edi, edi
mov dword [ebp - 0x154], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x158], esi
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x148], edi
cmp esi, edi
je 0x40c447
cmp eax, edi
je 0x40c447
call fcn.0040a3c3
cmp byte [eax], 0
jne 0x40bb0e
lea eax, [ebp - 0x1e0]
push eax
call fcn.00408287
push esi
lea esi, [ebp - 0x30]
mov dword [ebp - 4], 9
call fcn.004062ba
push eax
push ecx
mov ebx, 0x4792c8
push ebx
push ecx
lea eax, [ebp - 0x1d8]
push str.CSystemCommands::GetConfigurationValue_sConfigurationFilename
push eax
mov byte [ebp - 4], 0xa
call fcn.00406795
add esp, 0xc
push eax
call fcn.00406795
add esp, 0xc
push eax
call fcn.00406a28
pop ecx
pop ecx
push edi
push 1
mov byte [ebp - 4], 9
call fcn.0040866c
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0040677b
lea edi, [ebp - 0x4c]
mov byte [ebp - 4], 0xb
call fcn.004064f6
push 0
push 1
mov esi, edi
call fcn.0040866c
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1e0]
call fcn.00406bd8
jmp 0x40bc71
lea eax, [ebp - 0x1d8]
push eax
mov dword [ebp - 4], 0xc
call fcn.004063dd
push esi
lea esi, [ebp - 0x84]
mov byte [ebp - 4], 0xd
call fcn.004062ba
mov edi, eax
mov byte [ebp - 4], 0xe
call fcn.0040a3c3
lea ecx, [ebp - 0x30]
call fcn.004062f3
mov byte [ebp - 4], 0xf
cmp dword [eax + 0x18], 8
jb 0x40bb53
mov esi, dword [eax + 4]
jmp 0x40bb56
lea esi, [eax + 4]
lea eax, [ebp - 0x1d8]
push 0x479278
push eax
call fcn.00406795
pop ecx
pop ecx
push esi
push eax
call fcn.00406795
pop ecx
pop ecx
push 0x479270
push eax
call fcn.00406795
pop ecx
pop ecx
push str.CSystemCommands::GetConfigurationValue_sConfigurationFilename
push eax
call fcn.00406795
pop ecx
pop ecx
mov ebx, 0x4792c8
push ebx
push eax
call fcn.00406795
pop ecx
pop ecx
push edi
push eax
call fcn.00406a28
pop ecx
pop ecx
xor edi, edi
push edi
push 1
lea esi, [ebp - 0x30]
call fcn.0040866c
push edi
push 1
lea esi, [ebp - 0x84]
mov byte [ebp - 4], 0xd
call fcn.0040866c
lea eax, [ebp - 0x14c]
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 - 0x14c]
mov byte [ebp - 4], 0x10
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x40bc1d
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.004062d9
push 0x278
push str..SystemCommands.cpp
push eax
push esi
lea ecx, [ebp - 0x14c]
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
push edi
push 1
lea esi, [ebp - 0x30]
call fcn.0040866c
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0xd
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x1d8]
mov byte [ebp - 4], 0xc
call fcn.00406348
or dword [ebp - 4], 0xffffffff
jmp 0x40bc71
call fcn.0040a3c3
cmp byte [eax], 0
jne 0x40bd7b
lea eax, [ebp - 0x1e0]
push eax
call fcn.00408287
push dword [ebp - 0x150]
lea esi, [ebp - 0x30]
mov dword [ebp - 4], 0x14
call fcn.004062ba
push eax
push ecx
push ebx
push ecx
lea eax, [ebp - 0x1d8]
push str.CSystemCommands::GetConfigurationValue_sTagName
push eax
mov byte [ebp - 4], 0x15
call fcn.00406795
add esp, 0xc
push eax
call fcn.00406795
add esp, 0xc
push eax
call fcn.00406a28
pop ecx
pop ecx
push 0
push 1
mov byte [ebp - 4], 0x14
call fcn.0040866c
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0040677b
lea edi, [ebp - 0x4c]
mov byte [ebp - 4], 0x16
call fcn.004064f6
push 0
push 1
mov esi, edi
call fcn.0040866c
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1e0]
call fcn.00406bd8
push dword [ebp - 0x158]
xor ebx, ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x40bff5
call fcn.0040a3c3
cmp byte [eax], bl
jne 0x40bedc
lea eax, [ebp - 0x1e0]
push eax
call fcn.00408287
lea eax, [ebp - 0x1d8]
push str.CSystemCommands::GetConfigurationValue_sConfigurationFilename_doesnt_exist
push eax
mov dword [ebp - 4], 0x1f
call fcn.00406795
pop ecx
pop ecx
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0040677b
lea edi, [ebp - 0x4c]
mov byte [ebp - 4], 0x20
call fcn.004064f6
push ebx
mov esi, edi
jmp 0x40c493
lea eax, [ebp - 0x1d8]
push eax
mov dword [ebp - 4], 0x17
call fcn.004063dd
push dword [ebp - 0x150]
lea esi, [ebp - 0x84]
mov byte [ebp - 4], 0x18
call fcn.004062ba
mov edi, eax
mov byte [ebp - 4], 0x19
call fcn.0040a3c3
lea ecx, [ebp - 0x30]
call fcn.004062f3
mov byte [ebp - 4], 0x1a
cmp dword [eax + 0x18], 8
jb 0x40bdc5
mov esi, dword [eax + 4]
jmp 0x40bdc8
lea esi, [eax + 4]
lea eax, [ebp - 0x1d8]
push 0x479278
push eax
call fcn.00406795
pop ecx
pop ecx
push esi
push eax
call fcn.00406795
pop ecx
pop ecx
push 0x479270
push eax
call fcn.00406795
pop ecx
pop ecx
push str.CSystemCommands::GetConfigurationValue_sTagName
push eax
call fcn.00406795
pop ecx
pop ecx
push ebx
push eax
call fcn.00406795
pop ecx
pop ecx
push edi
push eax
call fcn.00406a28
pop ecx
pop ecx
xor edi, edi
push edi
push 1
lea esi, [ebp - 0x30]
call fcn.0040866c
push edi
push 1
lea esi, [ebp - 0x84]
mov byte [ebp - 4], 0x18
call fcn.0040866c
lea eax, [ebp - 0x14c]
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 - 0x14c]
mov byte [ebp - 4], 0x1b
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x40be8a
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.004062d9
push 0x279
push str..SystemCommands.cpp
push eax
push esi
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
push edi
push 1
lea esi, [ebp - 0x30]
call fcn.0040866c
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x18
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x1d8]
mov byte [ebp - 4], 0x17
call fcn.00406348
or dword [ebp - 4], 0xffffffff
jmp 0x40bd0f
lea eax, [ebp - 0x1d8]
push eax
mov dword [ebp - 4], 0x21
call fcn.004063dd
mov byte [ebp - 4], 0x22
call fcn.0040a3c3
lea ecx, [ebp - 0x30]
call fcn.004062f3
mov byte [ebp - 4], 0x23
cmp dword [eax + 0x18], 8
jb 0x40bf0f
mov esi, dword [eax + 4]
jmp 0x40bf12
lea esi, [eax + 4]
lea eax, [ebp - 0x1d8]
push 0x479278
push eax
call fcn.00406795
pop ecx
pop ecx
push esi
push eax
call fcn.00406795
pop ecx
pop ecx
push 0x479270
push eax
call fcn.00406795
pop ecx
pop ecx
push str.CSystemCommands::GetConfigurationValue_sConfigurationFilename_doesnt_exist
push eax
call fcn.00406795
pop ecx
pop ecx
push ebx
push 1
lea esi, [ebp - 0x30]
mov byte [ebp - 4], 0x22
call fcn.0040866c
lea eax, [ebp - 0x14c]
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 - 0x14c]
mov byte [ebp - 4], 0x24
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x40bfb2
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.004062d9
push 0x27c
push str..SystemCommands.cpp
push eax
push esi
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
push ebx
push 1
lea esi, [ebp - 0x30]
call fcn.0040866c
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 0x40c5aa
push dword [ebp - 0x150]
lea esi, [ebp - 0x84]
call fcn.004062ba
mov edi, eax
push str.Toolbar_
lea esi, [ebp - 0x30]
mov dword [ebp - 4], 0x28
call fcn.004062ba
push edi
push eax
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 4], 0x29
call fcn.0040f81f
add esp, 0xc
push ebx
push 1
call fcn.0040866c
push ebx
push 1
lea esi, [ebp - 0x84]
mov byte [ebp - 4], 0x2c
call fcn.0040866c
mov ecx, dword [ebp - 0x158]
lea eax, [ebp - 0xd8]
push eax
mov edx, str.Toolbar_Installation_FolderName
call fcn.0040c5e9
pop ecx
mov byte [ebp - 4], 0x2d
cmp dword [ebp - 0xc4], ebx
jne 0x40c236
call fcn.0040a3c3
cmp byte [eax], 0
jne 0x40c10b
lea eax, [ebp - 0x1e0]
push eax
call fcn.00408287
lea eax, [ebp - 0x1d8]
push str.CSystemCommands::GetConfigurationValue_sIEFolderName_empty.
push eax
mov byte [ebp - 4], 0x2e
call fcn.00406795
pop ecx
pop ecx
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0040677b
lea edi, [ebp - 0x4c]
mov byte [ebp - 4], 0x2f
call fcn.004064f6
push ebx
push 1
mov esi, edi
call fcn.0040866c
lea eax, [ebp - 0x1e0]
mov byte [ebp - 4], 0x2d
call fcn.00406bd8
mov esi, dword [ebp - 0x154]
push 0x4791e4
call fcn.004062ba
push 0
push 1
lea esi, [ebp - 0xd8]
call fcn.0040866c
push 0
push 1
lea esi, [ebp - 0x68]
call fcn.0040866c
mov eax, dword [ebp - 0x154]
jmp 0x40c4bb
lea eax, [ebp - 0x1d8]
push eax
mov byte [ebp - 4], 0x30
call fcn.004063dd
mov byte [ebp - 4], 0x31
call fcn.0040a3c3
lea ecx, [ebp - 0x30]
call fcn.004062f3
mov byte [ebp - 4], 0x32
cmp dword [eax + 0x18], 8
jb 0x40c13b
mov esi, dword [eax + 4]
jmp 0x40c13e
lea esi, [eax + 4]
lea eax, [ebp - 0x1d8]
push 0x479278
push eax
call fcn.00406795
pop ecx
pop ecx
push esi
push eax
call fcn.00406795
pop ecx
pop ecx
push 0x479270
push eax
call fcn.00406795
pop ecx
pop ecx
push str.CSystemCommands::GetConfigurationValue_sIEFolderName_empty.
push eax
call fcn.00406795
pop ecx
pop ecx
push ebx
push 1
lea esi, [ebp - 0x30]
mov byte [ebp - 4], 0x31
call fcn.0040866c
lea eax, [ebp - 0x14c]
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 - 0x14c]
mov byte [ebp - 4], 0x33
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x40c1de
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.004062d9
push 0x283
push str..SystemCommands.cpp
push eax
push esi
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
push ebx
push 1
lea esi, [ebp - 0x30]
call fcn.0040866c
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x31
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x1d8]
mov byte [ebp - 4], 0x30
call fcn.00406348
mov dword [ebp - 4], 0x2d
jmp 0x40c0d5
xor eax, eax
mov dword [ebp - 0xa4], 7
mov dword [ebp - 0xa8], ebx
mov word [ebp - 0xb8], ax
lea eax, [ebp - 0xd8]
push eax
lea esi, [ebp - 0xf4]
mov byte [ebp - 4], 0x37
call fcn.004085e7
push SysReAllocString
mov eax, esi
push eax
lea eax, [ebp - 0x140]
push eax
mov byte [ebp - 4], 0x38
call fcn.00410f6b
mov byte [ebp - 4], 0x39
mov dword [ebp - 0x150], ebx
mov eax, dword [0x48bbb0]
mov ecx, 0x48bbb0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x148], eax
push dword [ebp - 0x150]
lea eax, [ebp - 0x148]
push str.cache_file_
push str._s_d
mov byte [ebp - 4], 0x3a
call fcn.00405abd
add esp, 0xc
push 0x4791e4
lea esi, [ebp - 0x30]
call fcn.004062ba
mov byte [ebp - 4], 0x3b
mov edi, dword [ebp - 0x148]
push edi
lea esi, [ebp - 0x84]
call fcn.004062ba
mov eax, esi
push eax
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0x30]
lea edx, [ebp - 0xa0]
mov byte [ebp - 4], 0x3c
call fcn.00411761
mov byte [ebp - 4], 0x3d
cmp dword [ebp - 0x8c], ebx
setne byte [ebp - 0x141]
cmp byte [ebp - 0x141], 0
je 0x40c368
cmp dword [ebp - 0x50], 8
mov edx, dword [ebp - 0x64]
jae 0x40c324
lea edx, [ebp - 0x64]
cmp dword [ebp - 0x88], 8
mov ecx, dword [ebp - 0x9c]
jae 0x40c339
lea ecx, [ebp - 0x9c]
lea eax, [ebp - 0x4c]
push eax
call fcn.0040c5e9
pop ecx
mov byte [ebp - 4], 0x3e
cmp dword [ebp - 0x38], ebx
je 0x40c35d
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0xbc]
call fcn.0040855c
push ebx
push 1
lea esi, [ebp - 0x4c]
call fcn.0040866c
inc dword [ebp - 0x150]
push ebx
push 1
lea esi, [ebp - 0xa0]
call fcn.0040866c
push ebx
push 1
lea esi, [ebp - 0x84]
call fcn.0040866c
push ebx
push 1
lea esi, [ebp - 0x30]
call fcn.0040866c
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0x39
call fcn.00406115
cmp byte [ebp - 0x141], 0
jne 0x40c287
cmp dword [ebp - 0xa8], ebx
jne 0x40c3f9
cmp dword [ebp - 0x50], 8
mov edx, dword [ebp - 0x64]
jae 0x40c3c2
lea edx, [ebp - 0x64]
mov ecx, dword [ebp - 0x158]
lea eax, [ebp - 0xa0]
push eax
call fcn.0040c5e9
pop ecx
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x3f
call fcn.0040855c
push ebx
push 1
lea esi, [ebp - 0xa0]
mov byte [ebp - 4], 0x39
call fcn.0040866c
mov esi, dword [ebp - 0x154]
lea eax, [ebp - 0xbc]
push eax
call fcn.004085e7
lea ecx, [ebp - 0x140]
call fcn.0040aef6
xor edi, edi
push ebx
inc edi
push edi
lea esi, [ebp - 0xf4]
call fcn.0040866c
push ebx
push edi
lea esi, [ebp - 0xbc]
call fcn.0040866c
push ebx
push edi
lea esi, [ebp - 0xd8]
call fcn.0040866c
push ebx
push edi
jmp 0x40c0f8
call fcn.0040a3c3
cmp byte [eax], 0
jne 0x40c4c1
lea eax, [ebp - 0x1e0]
push eax
call fcn.00408287
and dword [ebp - 4], 0
lea eax, [ebp - 0x1d8]
push str.CSystemCommands::GetConfigurationValue_pinters_are_NULL__
push eax
call fcn.00406795
pop ecx
pop ecx
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0040677b
lea edi, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.004064f6
push 0
mov esi, edi
push 1
call fcn.0040866c
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1e0]
call fcn.00406bd8
mov esi, dword [ebp - 0x154]
push 0x4791e4
call fcn.004062ba
mov eax, esi
call fcn.004598c8
ret
lea eax, [ebp - 0x1d8]
push eax
mov dword [ebp - 4], 2
call fcn.004063dd
mov byte [ebp - 4], 3
call fcn.0040a3c3
lea ecx, [ebp - 0x30]
call fcn.004062f3
mov byte [ebp - 4], 4
cmp dword [eax + 0x18], 8
jb 0x40c4f4
mov esi, dword [eax + 4]
jmp 0x40c4f7
lea esi, [eax + 4]
lea eax, [ebp - 0x1d8]
push 0x479278
push eax
call fcn.00406795
pop ecx
pop ecx
push esi
push eax
call fcn.00406795
pop ecx
pop ecx
push 0x479270
push eax
call fcn.00406795
pop ecx
pop ecx
push str.CSystemCommands::GetConfigurationValue_pinters_are_NULL__
push eax
call fcn.00406795
pop ecx
pop ecx
push edi
push 1
lea esi, [ebp - 0x30]
mov byte [ebp - 4], 3
call fcn.0040866c
lea eax, [ebp - 0x14c]
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 - 0x14c]
mov byte [ebp - 4], 5
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x40c597
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.004062d9
push 0x274
push str..SystemCommands.cpp
push eax
push esi
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
push edi
push 1
lea esi, [ebp - 0x30]
call fcn.0040866c
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 - 0x1d8]
call fcn.00406348
or dword [ebp - 4], 0xffffffff
jmp 0x40c4a9