Function at 0x403083
Capabilities:
Check if file exists

Disassembly:
push ebp
sub esp, 0x44
lea ebp, [esp - 4]
mov eax, dword [0x489218]
xor eax, ebp
mov dword [ebp + 0x44], eax
push 0xc4
mov eax, 0x471a31
call fcn.00459800
mov eax, dword [0x48bbb0]
mov edi, ecx
mov ecx, 0x48bbb0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp], eax
push dword [ebp + 0x50]
xor ebx, ebx
push str.Install__d
lea eax, [ebp]
mov dword [ebp - 4], ebx
call fcn.00405abd
pop ecx
pop ecx
push 0x478a6c
lea esi, [ebp - 0xd0]
call fcn.004062ba
mov byte [ebp - 4], 1
push dword [ebp]
lea esi, [ebp - 0xb4]
call fcn.004062ba
lea eax, [ebp - 0xd0]
push eax
mov eax, esi
push eax
lea eax, [ebp + 0xc]
push eax
add edi, 0x58
push edi
mov byte [ebp - 4], 2
call fcn.00409153
push ebx
push 1
call fcn.0040866c
push ebx
push 1
lea esi, [ebp - 0xd0]
mov byte [ebp - 4], 5
call fcn.0040866c
lea ecx, [ebp + 0xc]
call fcn.0040d762
call fcn.0040a3c3
cmp byte [eax], bl
jne 0x4031ad
lea eax, [ebp - 0x98]
push eax
call fcn.00408287
lea eax, [ebp + 0xc]
push eax
push 0x4792c8
lea eax, [ebp - 0x90]
push str.CPostInstaller::IsValid3rdPartyApp_____szPath
push eax
mov byte [ebp - 4], 6
call fcn.00406795
pop ecx
pop ecx
push eax
call fcn.00406795
pop ecx
pop ecx
push eax
call fcn.00406a28
pop ecx
pop ecx
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp - 0x98]
call fcn.0040677b
lea edi, [ebp + 0x28]
mov byte [ebp - 4], 7
call fcn.004064f6
push ebx
push 1
mov esi, edi
call fcn.0040866c
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 5
call fcn.00406bd8
jmp 0x4032e4
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 8
call fcn.004063dd
mov byte [ebp - 4], 9
call fcn.0040a3c3
lea ecx, [ebp + 0x28]
call fcn.004062f3
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x18], 8
jb 0x4031dd
mov esi, dword [eax + 4]
jmp 0x4031e0
lea esi, [eax + 4]
lea eax, [ebp - 0x90]
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.CPostInstaller::IsValid3rdPartyApp_____szPath
push eax
call fcn.00406795
pop ecx
pop ecx
push 0x4792c8
push eax
call fcn.00406795
pop ecx
pop ecx
lea ecx, [ebp + 0xc]
push ecx
push eax
call fcn.00406a28
pop ecx
pop ecx
push ebx
push 1
lea esi, [ebp + 0x28]
mov byte [ebp - 4], 9
call fcn.0040866c
lea eax, [ebp + 4]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
mov edi, 0x2710
push edi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0xb
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
cmp al, bl
je 0x403290
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp - 0x90]
call fcn.004062d9
push 0x81
push str..PostInstaller.cpp
push eax
push edi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0xc
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 + 0x28]
call fcn.0040866c
lea ecx, [ebp + 4]
mov byte [ebp - 4], 9
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 8
call fcn.00406348
mov dword [ebp - 4], 5
jmp 0x4032e9
mov edi, 0x2710
cmp dword [ebp + 0x20], ebx
jne 0x40349c
call fcn.0040a3c3
cmp byte [eax], bl
jne 0x403357
lea eax, [ebp - 0x98]
push eax
call fcn.00408287
lea eax, [ebp - 0x90]
push str.CPostInstaller::IsValid3rdPartyApp_____Application_name_is_empty.
push eax
mov byte [ebp - 4], 0xf
call fcn.00406795
pop ecx
pop ecx
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp - 0x98]
call fcn.0040677b
lea edi, [ebp + 0x28]
mov byte [ebp - 4], 0x10
call fcn.004064f6
push ebx
push 1
mov esi, edi
call fcn.0040866c
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 5
call fcn.00406bd8
jmp 0x403462
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 0x11
call fcn.004063dd
mov byte [ebp - 4], 0x12
call fcn.0040a3c3
lea ecx, [ebp + 0x28]
call fcn.004062f3
mov byte [ebp - 4], 0x13
cmp dword [eax + 0x18], 8
jb 0x403387
mov esi, dword [eax + 4]
jmp 0x40338a
lea esi, [eax + 4]
lea eax, [ebp - 0x90]
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.CPostInstaller::IsValid3rdPartyApp_____Application_name_is_empty.
push eax
call fcn.00406795
pop ecx
pop ecx
push ebx
push 1
lea esi, [ebp + 0x28]
mov byte [ebp - 4], 0x12
call fcn.0040866c
lea eax, [ebp + 4]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
push edi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x14
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
cmp al, bl
je 0x40341c
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp - 0x90]
call fcn.004062d9
push 0x84
push str..PostInstaller.cpp
push eax
push edi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x15
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 + 0x28]
call fcn.0040866c
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x12
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x11
call fcn.00406348
jmp 0x403462
push 3
pop edi
push ebx
push 1
lea esi, [ebp + 0xc]
call fcn.0040866c
mov eax, dword [ebp]
add eax, 0xfffffff0
call fcn.00406115
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x44]
xor ecx, ebp
call fcn.0045509c
add ebp, 0x48
leave
ret 4
cmp dword [ebp + 0x24], 8
mov eax, dword [ebp + 0x10]
jae 0x4034a8
lea eax, [ebp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x403631
call fcn.0040a3c3
cmp byte [eax], bl
jne 0x40351c
lea eax, [ebp - 0x98]
push eax
call fcn.00408287
lea eax, [ebp - 0x90]
push str.CPostInstaller::IsValid3rdPartyApp_____Path_not_exist.
push eax
mov byte [ebp - 4], 0x18
call fcn.00406795
pop ecx
pop ecx
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp - 0x98]
call fcn.0040677b
lea edi, [ebp + 0x28]
mov byte [ebp - 4], 0x19
call fcn.004064f6
push ebx
push 1
mov esi, edi
call fcn.0040866c
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 5
call fcn.00406bd8
jmp 0x403627
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 0x1a
call fcn.004063dd
mov byte [ebp - 4], 0x1b
call fcn.0040a3c3
lea ecx, [ebp + 0x28]
call fcn.004062f3
mov byte [ebp - 4], 0x1c
cmp dword [eax + 0x18], 8
jb 0x40354c
mov esi, dword [eax + 4]
jmp 0x40354f
lea esi, [eax + 4]
lea eax, [ebp - 0x90]
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.CPostInstaller::IsValid3rdPartyApp_____Path_not_exist.
push eax
call fcn.00406795
pop ecx
pop ecx
push ebx
push 1
lea esi, [ebp + 0x28]
mov byte [ebp - 4], 0x1b
call fcn.0040866c
lea eax, [ebp + 4]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
push edi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x1d
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
cmp al, bl
je 0x4035e1
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp - 0x90]
call fcn.004062d9
push 0x89
push str..PostInstaller.cpp
push eax
push edi
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x1e
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 + 0x28]
call fcn.0040866c
lea ecx, [ebp + 4]
mov byte [ebp - 4], 0x1b
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x1a
call fcn.00406348
jmp 0x403627
mov edi, pe_nt_image_headers32
jmp 0x403465
xor edi, edi
jmp 0x403465