Function at 0x41a08e
Capabilities:
Check if file exists

Disassembly:
push 0x1d4
mov eax, 0x529f20
call fcn.005066d0
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 0x41aaaa
cmp eax, edi
je 0x41aaaa
call fcn.0040dbda
cmp byte [eax], 0
jne 0x41a171
lea eax, [ebp - 0x1e0]
push eax
call fcn.0040d9e1
push esi
lea esi, [ebp - 0x30]
mov dword [ebp - 4], 9
call fcn.0040b812
push eax
push ecx
mov ebx, 0x543368
push ebx
push ecx
lea eax, [ebp - 0x1d8]
push str.CSystemCommands::GetConfigurationValue_sConfigurationFilename
push eax
mov byte [ebp - 4], 0xa
call fcn.0040c0a0
add esp, 0xc
push eax
call fcn.0040c0a0
add esp, 0xc
push eax
call fcn.0040b612
pop ecx
pop ecx
push edi
push 1
mov byte [ebp - 4], 9
call fcn.0040dac5
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0040bf31
lea edi, [ebp - 0x4c]
mov byte [ebp - 4], 0xb
call fcn.0040ba4e
push 0
push 1
mov esi, edi
call fcn.0040dac5
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1e0]
call fcn.0040c22b
jmp 0x41a2d4
lea eax, [ebp - 0x1d8]
push eax
mov dword [ebp - 4], 0xc
call fcn.0040b935
push esi
lea esi, [ebp - 0x84]
mov byte [ebp - 4], 0xd
call fcn.0040b812
mov edi, eax
mov byte [ebp - 4], 0xe
call fcn.0040dbda
lea ecx, [ebp - 0x30]
call fcn.0040b84b
mov byte [ebp - 4], 0xf
cmp dword [eax + 0x18], 8
jb 0x41a1b6
mov esi, dword [eax + 4]
jmp 0x41a1b9
lea esi, [eax + 4]
lea eax, [ebp - 0x1d8]
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.CSystemCommands::GetConfigurationValue_sConfigurationFilename
push eax
call fcn.0040c0a0
pop ecx
pop ecx
mov ebx, 0x543368
push ebx
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push edi
push eax
call fcn.0040b612
pop ecx
pop ecx
xor edi, edi
push edi
push 1
lea esi, [ebp - 0x30]
call fcn.0040dac5
push edi
push 1
lea esi, [ebp - 0x84]
mov byte [ebp - 4], 0xd
call fcn.0040dac5
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 0x41a280
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.0040b831
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.0040dac5
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.0040b8a0
or dword [ebp - 4], 0xffffffff
jmp 0x41a2d4
call fcn.0040dbda
cmp byte [eax], 0
jne 0x41a3de
lea eax, [ebp - 0x1e0]
push eax
call fcn.0040d9e1
push dword [ebp - 0x150]
lea esi, [ebp - 0x30]
mov dword [ebp - 4], 0x14
call fcn.0040b812
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.0040c0a0
add esp, 0xc
push eax
call fcn.0040c0a0
add esp, 0xc
push eax
call fcn.0040b612
pop ecx
pop ecx
push 0
push 1
mov byte [ebp - 4], 0x14
call fcn.0040dac5
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0040bf31
lea edi, [ebp - 0x4c]
mov byte [ebp - 4], 0x16
call fcn.0040ba4e
push 0
push 1
mov esi, edi
call fcn.0040dac5
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1e0]
call fcn.0040c22b
push dword [ebp - 0x158]
xor ebx, ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x41a658
call fcn.0040dbda
cmp byte [eax], bl
jne 0x41a53f
lea eax, [ebp - 0x1e0]
push eax
call fcn.0040d9e1
lea eax, [ebp - 0x1d8]
push str.CSystemCommands::GetConfigurationValue_sConfigurationFilename_doesnt_exist
push eax
mov dword [ebp - 4], 0x1f
call fcn.0040c0a0
pop ecx
pop ecx
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0040bf31
lea edi, [ebp - 0x4c]
mov byte [ebp - 4], 0x20
call fcn.0040ba4e
push ebx
mov esi, edi
jmp 0x41aaf6
lea eax, [ebp - 0x1d8]
push eax
mov dword [ebp - 4], 0x17
call fcn.0040b935
push dword [ebp - 0x150]
lea esi, [ebp - 0x84]
mov byte [ebp - 4], 0x18
call fcn.0040b812
mov edi, eax
mov byte [ebp - 4], 0x19
call fcn.0040dbda
lea ecx, [ebp - 0x30]
call fcn.0040b84b
mov byte [ebp - 4], 0x1a
cmp dword [eax + 0x18], 8
jb 0x41a428
mov esi, dword [eax + 4]
jmp 0x41a42b
lea esi, [eax + 4]
lea eax, [ebp - 0x1d8]
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.CSystemCommands::GetConfigurationValue_sTagName
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push ebx
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push edi
push eax
call fcn.0040b612
pop ecx
pop ecx
xor edi, edi
push edi
push 1
lea esi, [ebp - 0x30]
call fcn.0040dac5
push edi
push 1
lea esi, [ebp - 0x84]
mov byte [ebp - 4], 0x18
call fcn.0040dac5
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 0x41a4ed
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.0040b831
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.0040dac5
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.0040b8a0
or dword [ebp - 4], 0xffffffff
jmp 0x41a372
lea eax, [ebp - 0x1d8]
push eax
mov dword [ebp - 4], 0x21
call fcn.0040b935
mov byte [ebp - 4], 0x22
call fcn.0040dbda
lea ecx, [ebp - 0x30]
call fcn.0040b84b
mov byte [ebp - 4], 0x23
cmp dword [eax + 0x18], 8
jb 0x41a572
mov esi, dword [eax + 4]
jmp 0x41a575
lea esi, [eax + 4]
lea eax, [ebp - 0x1d8]
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.CSystemCommands::GetConfigurationValue_sConfigurationFilename_doesnt_exist
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push ebx
push 1
lea esi, [ebp - 0x30]
mov byte [ebp - 4], 0x22
call fcn.0040dac5
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 0x41a615
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.0040b831
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.0040dac5
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 0x41ac0d
push dword [ebp - 0x150]
lea esi, [ebp - 0x84]
call fcn.0040b812
mov edi, eax
push str.Toolbar_
lea esi, [ebp - 0x30]
mov dword [ebp - 4], 0x28
call fcn.0040b812
push edi
push eax
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 4], 0x29
call fcn.00417b0a
add esp, 0xc
push ebx
push 1
call fcn.0040dac5
push ebx
push 1
lea esi, [ebp - 0x84]
mov byte [ebp - 4], 0x2c
call fcn.0040dac5
mov ecx, dword [ebp - 0x158]
lea eax, [ebp - 0xd8]
push eax
mov edx, str.Toolbar_Installation_FolderName
call fcn.0041ac4c
pop ecx
mov byte [ebp - 4], 0x2d
cmp dword [ebp - 0xc4], ebx
jne 0x41a899
call fcn.0040dbda
cmp byte [eax], 0
jne 0x41a76e
lea eax, [ebp - 0x1e0]
push eax
call fcn.0040d9e1
lea eax, [ebp - 0x1d8]
push str.CSystemCommands::GetConfigurationValue_sIEFolderName_empty.
push eax
mov byte [ebp - 4], 0x2e
call fcn.0040c0a0
pop ecx
pop ecx
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0040bf31
lea edi, [ebp - 0x4c]
mov byte [ebp - 4], 0x2f
call fcn.0040ba4e
push ebx
push 1
mov esi, edi
call fcn.0040dac5
lea eax, [ebp - 0x1e0]
mov byte [ebp - 4], 0x2d
call fcn.0040c22b
mov esi, dword [ebp - 0x154]
push 0x54323c
call fcn.0040b812
push 0
push 1
lea esi, [ebp - 0xd8]
call fcn.0040dac5
push 0
push 1
lea esi, [ebp - 0x68]
call fcn.0040dac5
mov eax, dword [ebp - 0x154]
jmp 0x41ab1e
lea eax, [ebp - 0x1d8]
push eax
mov byte [ebp - 4], 0x30
call fcn.0040b935
mov byte [ebp - 4], 0x31
call fcn.0040dbda
lea ecx, [ebp - 0x30]
call fcn.0040b84b
mov byte [ebp - 4], 0x32
cmp dword [eax + 0x18], 8
jb 0x41a79e
mov esi, dword [eax + 4]
jmp 0x41a7a1
lea esi, [eax + 4]
lea eax, [ebp - 0x1d8]
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.CSystemCommands::GetConfigurationValue_sIEFolderName_empty.
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push ebx
push 1
lea esi, [ebp - 0x30]
mov byte [ebp - 4], 0x31
call fcn.0040dac5
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 0x41a841
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.0040b831
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.0040dac5
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.0040b8a0
mov dword [ebp - 4], 0x2d
jmp 0x41a738
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.0040be1c
push SysReAllocString
mov eax, esi
push eax
lea eax, [ebp - 0x140]
push eax
mov byte [ebp - 4], 0x38
call fcn.0040e8c0
mov byte [ebp - 4], 0x39
mov dword [ebp - 0x150], ebx
mov eax, dword [0x5a009c]
mov ecx, 0x5a009c
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.00412d06
add esp, 0xc
push 0x54323c
lea esi, [ebp - 0x30]
call fcn.0040b812
mov byte [ebp - 4], 0x3b
mov edi, dword [ebp - 0x148]
push edi
lea esi, [ebp - 0x84]
call fcn.0040b812
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.0040f3b5
mov byte [ebp - 4], 0x3d
cmp dword [ebp - 0x8c], ebx
setne byte [ebp - 0x141]
cmp byte [ebp - 0x141], 0
je 0x41a9cb
cmp dword [ebp - 0x50], 8
mov edx, dword [ebp - 0x64]
jae 0x41a987
lea edx, [ebp - 0x64]
cmp dword [ebp - 0x88], 8
mov ecx, dword [ebp - 0x9c]
jae 0x41a99c
lea ecx, [ebp - 0x9c]
lea eax, [ebp - 0x4c]
push eax
call fcn.0041ac4c
pop ecx
mov byte [ebp - 4], 0x3e
cmp dword [ebp - 0x38], ebx
je 0x41a9c0
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0xbc]
call fcn.0040bd91
push ebx
push 1
lea esi, [ebp - 0x4c]
call fcn.0040dac5
inc dword [ebp - 0x150]
push ebx
push 1
lea esi, [ebp - 0xa0]
call fcn.0040dac5
push ebx
push 1
lea esi, [ebp - 0x84]
call fcn.0040dac5
push ebx
push 1
lea esi, [ebp - 0x30]
call fcn.0040dac5
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0x39
call fcn.0040b78a
cmp byte [ebp - 0x141], 0
jne 0x41a8ea
cmp dword [ebp - 0xa8], ebx
jne 0x41aa5c
cmp dword [ebp - 0x50], 8
mov edx, dword [ebp - 0x64]
jae 0x41aa25
lea edx, [ebp - 0x64]
mov ecx, dword [ebp - 0x158]
lea eax, [ebp - 0xa0]
push eax
call fcn.0041ac4c
pop ecx
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x3f
call fcn.0040bd91
push ebx
push 1
lea esi, [ebp - 0xa0]
mov byte [ebp - 4], 0x39
call fcn.0040dac5
mov esi, dword [ebp - 0x154]
lea eax, [ebp - 0xbc]
push eax
call fcn.0040be1c
lea ecx, [ebp - 0x140]
call fcn.0040b7c8
xor edi, edi
push ebx
inc edi
push edi
lea esi, [ebp - 0xf4]
call fcn.0040dac5
push ebx
push edi
lea esi, [ebp - 0xbc]
call fcn.0040dac5
push ebx
push edi
lea esi, [ebp - 0xd8]
call fcn.0040dac5
push ebx
push edi
jmp 0x41a75b
call fcn.0040dbda
cmp byte [eax], 0
jne 0x41ab24
lea eax, [ebp - 0x1e0]
push eax
call fcn.0040d9e1
and dword [ebp - 4], 0
lea eax, [ebp - 0x1d8]
push str.CSystemCommands::GetConfigurationValue_pinters_are_NULL__
push eax
call fcn.0040c0a0
pop ecx
pop ecx
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0040bf31
lea edi, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.0040ba4e
push 0
mov esi, edi
push 1
call fcn.0040dac5
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1e0]
call fcn.0040c22b
mov esi, dword [ebp - 0x154]
push 0x54323c
call fcn.0040b812
mov eax, esi
call fcn.0050672c
ret
lea eax, [ebp - 0x1d8]
push eax
mov dword [ebp - 4], 2
call fcn.0040b935
mov byte [ebp - 4], 3
call fcn.0040dbda
lea ecx, [ebp - 0x30]
call fcn.0040b84b
mov byte [ebp - 4], 4
cmp dword [eax + 0x18], 8
jb 0x41ab57
mov esi, dword [eax + 4]
jmp 0x41ab5a
lea esi, [eax + 4]
lea eax, [ebp - 0x1d8]
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.CSystemCommands::GetConfigurationValue_pinters_are_NULL__
push eax
call fcn.0040c0a0
pop ecx
pop ecx
push edi
push 1
lea esi, [ebp - 0x30]
mov byte [ebp - 4], 3
call fcn.0040dac5
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 0x41abfa
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.0040b831
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.0040dac5
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.0040b8a0
or dword [ebp - 4], 0xffffffff
jmp 0x41ab0c