Function at 0x420984
Capabilities:
Check if file exists

Disassembly:
push 0x138
mov eax, 0x50e611
call fcn.004ec79c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x90], eax
call fcn.00411dd9
mov al, byte [eax]
xor ebx, ebx
test al, al
jne 0x420af4
lea eax, [ebp - 0x11c]
push eax
call fcn.004071c6
lea eax, [ebp - 0x114]
push str.CSystemCommands::GetAllUsersTempPath_start
push eax
mov dword [ebp - 4], ebx
call fcn.004058d5
pop ecx
pop ecx
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x11c]
call fcn.0040574e
lea edi, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.00405549
push ebx
push 1
mov esi, edi
call fcn.0040754f
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x11c]
call fcn.00405a60
and dword [ebp - 0x94], 0
and dword [ebp - 0x3c], 0
xor eax, eax
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], ax
mov dword [ebp - 4], 9
call fcn.0041a135
mov dword [ebp - 0x54], eax
mov ebx, 0x525218
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.00421141
pop ecx
pop ecx
test al, al
je 0x42112f
push 0x524c94
lea eax, [ebp - 0x50]
push eax
call fcn.0040512d
xor edi, edi
lea eax, [ebp - 0x50]
cmp dword [ebp - 0x54], edi
jne 0x420d48
push str.Local_SettingsTemp_
push eax
call fcn.0040512d
call fcn.00411dd9
cmp byte [eax], 0
jne 0x420c08
lea eax, [ebp - 0x11c]
push eax
call fcn.004071c6
lea eax, [ebp - 0x50]
push eax
push ecx
push ebx
push ecx
lea eax, [ebp - 0x114]
push str.CSystemCommands::GetAllUsersTempPath__XP_path:
push eax
mov byte [ebp - 4], 0xa
call fcn.004058d5
add esp, 0xc
push eax
call fcn.004058d5
add esp, 0xc
push eax
call fcn.00405173
pop ecx
pop ecx
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x11c]
call fcn.0040574e
mov byte [ebp - 4], 0xb
lea edi, [ebp - 0x34]
call fcn.00405549
push 0
push 1
mov esi, edi
call fcn.0040754f
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 9
call fcn.00405a60
jmp 0x420ee4
lea eax, [ebp - 0x114]
push eax
mov dword [ebp - 4], 2
call fcn.00405430
mov byte [ebp - 4], 3
call fcn.00411dd9
lea ecx, [ebp - 0x74]
call fcn.00405346
mov byte [ebp - 4], 4
cmp dword [eax + 0x18], 8
jb 0x420b27
mov esi, dword [eax + 4]
jmp 0x420b2a
lea esi, [eax + 4]
lea eax, [ebp - 0x114]
push 0x5251c8
push eax
call fcn.004058d5
pop ecx
pop ecx
push esi
push eax
call fcn.004058d5
pop ecx
pop ecx
push 0x5251c0
push eax
call fcn.004058d5
pop ecx
pop ecx
push str.CSystemCommands::GetAllUsersTempPath_start
push eax
call fcn.004058d5
pop ecx
pop ecx
push ebx
push 1
lea esi, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.0040754f
lea eax, [ebp - 0x58]
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 - 0x58]
mov byte [ebp - 4], 5
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x420bc1
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x114]
call fcn.0040532c
push 0x89c
push str..SystemCommands.cpp
push eax
push esi
lea ecx, [ebp - 0x58]
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 ebx
push 1
lea esi, [ebp - 0x74]
call fcn.0040754f
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 3
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 2
call fcn.0040539b
jmp 0x420a03
lea eax, [ebp - 0x114]
push eax
mov byte [ebp - 4], 0xc
call fcn.00405430
mov byte [ebp - 4], 0xd
call fcn.00411dd9
lea ecx, [ebp - 0x74]
call fcn.00405346
mov byte [ebp - 4], 0xe
cmp dword [eax + 0x18], 8
jb 0x420c38
mov esi, dword [eax + 4]
jmp 0x420c3b
lea esi, [eax + 4]
lea eax, [ebp - 0x114]
push 0x5251c8
push eax
call fcn.004058d5
pop ecx
pop ecx
push esi
push eax
call fcn.004058d5
pop ecx
pop ecx
push 0x5251c0
push eax
call fcn.004058d5
pop ecx
pop ecx
push str.CSystemCommands::GetAllUsersTempPath__XP_path:
push eax
call fcn.004058d5
pop ecx
pop ecx
push ebx
push eax
call fcn.004058d5
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
push ecx
push eax
call fcn.00405173
pop ecx
pop ecx
push edi
push 1
lea esi, [ebp - 0x74]
mov byte [ebp - 4], 0xd
call fcn.0040754f
lea eax, [ebp - 0x84]
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 - 0x84]
mov byte [ebp - 4], 0xf
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x420cf0
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x114]
call fcn.0040532c
push 0x8aa
push str..SystemCommands.cpp
push eax
push esi
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x10
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 - 0x74]
call fcn.0040754f
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0xd
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x114]
call fcn.0040539b
mov dword [ebp - 4], 9
jmp 0x420ee4
push str.AppDataLocalTemp_
push eax
call fcn.0040512d
call fcn.00411dd9
cmp byte [eax], 0
jne 0x420db1
lea eax, [ebp - 0x11c]
push eax
call fcn.004071c6
lea eax, [ebp - 0x50]
push eax
push ecx
push ebx
push ecx
lea eax, [ebp - 0x114]
push str.CSystemCommands::GetAllUsersTempPath__path
push eax
mov byte [ebp - 4], 0x13
call fcn.004058d5
add esp, 0xc
push eax
call fcn.004058d5
add esp, 0xc
push eax
call fcn.00405173
pop ecx
pop ecx
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x11c]
call fcn.0040574e
mov byte [ebp - 4], 0x14
jmp 0x420acd
lea eax, [ebp - 0x114]
push eax
mov byte [ebp - 4], 0x15
call fcn.00405430
mov byte [ebp - 4], 0x16
call fcn.00411dd9
lea ecx, [ebp - 0x74]
call fcn.00405346
mov byte [ebp - 4], 0x17
cmp dword [eax + 0x18], 8
jb 0x420de1
mov esi, dword [eax + 4]
jmp 0x420de4
lea esi, [eax + 4]
lea eax, [ebp - 0x114]
push 0x5251c8
push eax
call fcn.004058d5
pop ecx
pop ecx
push esi
push eax
call fcn.004058d5
pop ecx
pop ecx
push 0x5251c0
push eax
call fcn.004058d5
pop ecx
pop ecx
push str.CSystemCommands::GetAllUsersTempPath__path
push eax
call fcn.004058d5
pop ecx
pop ecx
push ebx
push eax
call fcn.004058d5
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
push ecx
push eax
call fcn.00405173
pop ecx
pop ecx
push edi
push 1
lea esi, [ebp - 0x74]
mov byte [ebp - 4], 0x16
call fcn.0040754f
lea eax, [ebp - 0x8c]
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 - 0x8c]
mov byte [ebp - 4], 0x18
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x420e99
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x114]
call fcn.0040532c
push 0x8af
push str..SystemCommands.cpp
push eax
push esi
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x19
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 - 0x74]
call fcn.0040754f
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x16
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
mov byte [ebp - 4], 0x15
jmp 0x420d03
push str.toolbar_log.txt
lea eax, [ebp - 0x50]
push eax
call fcn.0040512d
cmp dword [ebp - 0x38], 8
mov eax, dword [ebp - 0x4c]
jae 0x420efe
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x420a2f
mov edi, dword [ebp - 0x90]
mov esi, dword [edi + 0x14]
lea eax, [ebp - 0x50]
push eax
push dword [esi + 4]
push esi
call fcn.00423020
mov ecx, dword [edi + 0x18]
mov edx, 0x9249249
sub edx, ecx
cmp edx, 1
jae 0x420f6d
push str.list_T__too_long
lea ecx, [ebp - 0x74]
call fcn.00406212
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 0x1c
call fcn.0040de3b
push 0x54ae14
lea eax, [ebp - 0x144]
push eax
mov dword [ebp - method.std::length_error.virtual_0], vtable.std::length_error.0
call fcn.004ec2cb
inc ecx
mov dword [edi + 0x18], ecx
mov dword [esi + 4], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
call fcn.00411dd9
cmp byte [eax], 0
jne 0x420ff9
lea eax, [ebp - 0x11c]
push eax
call fcn.004071c6
lea eax, [ebp - 0x50]
push eax
push ecx
push ebx
push ecx
lea eax, [ebp - 0x114]
push str.CSystemCommands::GetAllUsersTempPath_add_current_users_log_to_list__path:
push eax
mov byte [ebp - 4], 0x1d
call fcn.004058d5
add esp, 0xc
push eax
call fcn.004058d5
add esp, 0xc
push eax
call fcn.00405173
pop ecx
pop ecx
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x11c]
call fcn.0040574e
lea edi, [ebp - 0x34]
mov byte [ebp - 4], 0x1e
call fcn.00405549
push 0
push 1
mov esi, edi
call fcn.0040754f
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 9
call fcn.00405a60
jmp 0x420a2f
lea eax, [ebp - 0x114]
push eax
mov byte [ebp - 4], 0x1f
call fcn.00405430
mov byte [ebp - 4], 0x20
call fcn.00411dd9
lea ecx, [ebp - 0x74]
call fcn.00405346
mov byte [ebp - 4], 0x21
cmp dword [eax + 0x18], 8
jb 0x421029
mov esi, dword [eax + 4]
jmp 0x42102c
lea esi, [eax + 4]
lea eax, [ebp - 0x114]
push 0x5251c8
push eax
call fcn.004058d5
pop ecx
pop ecx
push esi
push eax
call fcn.004058d5
pop ecx
pop ecx
push 0x5251c0
push eax
call fcn.004058d5
pop ecx
pop ecx
push str.CSystemCommands::GetAllUsersTempPath_add_current_users_log_to_list__path:
push eax
call fcn.004058d5
pop ecx
pop ecx
push ebx
push eax
call fcn.004058d5
pop ecx
pop ecx
lea ecx, [ebp - 0x50]
push ecx
push eax
call fcn.00405173
pop ecx
pop ecx
push 0
push 1
lea esi, [ebp - 0x74]
mov byte [ebp - 4], 0x20
call fcn.0040754f
lea eax, [ebp - 0x7c]
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 - 0x7c]
mov byte [ebp - 4], 0x22
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x4210da
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x114]
call fcn.0040532c
push 0x8b7
push str..SystemCommands.cpp
push eax
push esi
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x23
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 0
push 1
lea esi, [ebp - 0x74]
call fcn.0040754f
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x20
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 0x1f
call fcn.0040539b
mov dword [ebp - 4], 9
jmp 0x420a2f
push 0
push 1
lea esi, [ebp - 0x50]
call fcn.0040754f
call fcn.004ec7f8
ret