Function at 0x4138ab
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe38
push ebx
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 0xbc]
test eax, eax
jne 0x4138c8
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push eax
call fcn.004014a3
and word [ebp - 0xc30], 0
pop ecx
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0xc2e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [esi + 0xbc]
test eax, eax
jne 0x4138f7
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
mov ebx, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push 0x42bd4c
push eax
lea eax, [ebp - 0xc30]
push eax
call ebx
mov eax, dword [esi + 0x8c]
xor edi, edi
cmp eax, edi
jne 0x41391d
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push edi
push 0xffffffffffffffff
lea ecx, [ebp - 0xc30]
push edi
push ecx
push eax
call fcn.00401c99
mov word [ebp - 0xe38], di
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0xe36]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [esi + 0xbc]
add esp, 0x14
test eax, eax
jne 0x413958
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push 0x42bd3c
push eax
lea eax, [ebp - 0xe38]
push eax
call ebx
and word [ebp - 0x618], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x616]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [esi + 0x7c]
xor edi, edi
cmp eax, edi
jne 0x41398e
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push str.InstallerUninst.exe
push eax
lea eax, [ebp - 0x618]
push eax
call ebx
push edi
push 1
lea eax, [ebp - 0xe38]
push edi
push eax
lea eax, [ebp - 0x618]
push eax
call fcn.00401c99
mov word [ebp - 0x820], di
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x81e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [esi + 0xcc]
xor edi, edi
add esp, 0x14
cmp eax, edi
jne 0x4139e0
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push 0x42bd4c
push eax
lea eax, [ebp - 0x820]
push eax
call ebx
mov eax, dword [esi + 0x8c]
cmp eax, edi
jne 0x4139fe
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push edi
push 0xffffffffffffffff
lea ecx, [ebp - 0x820]
push edi
push ecx
push eax
call fcn.00401c99
mov word [ebp - 0x410], di
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x40e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [esi + 0xdc]
xor edi, edi
add esp, 0x14
cmp eax, edi
jne 0x413a3b
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push 0x42bd4c
push eax
lea eax, [ebp - 0x410]
push eax
call ebx
mov eax, dword [esi + 0x8c]
cmp eax, edi
jne 0x413a59
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push edi
push 0xffffffffffffffff
lea ecx, [ebp - 0x410]
push edi
push ecx
push eax
call fcn.00401c99
mov word [ebp - 0xa28], di
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0xa26]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [esi + 0x6c]
add esp, 0x14
test eax, eax
jne 0x413a91
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push str.Installerhao123VOLService.exe
push eax
lea eax, [ebp - 0xa28]
push eax
call ebx
lea eax, [ebp - 0xa28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x413b1c
push str.hao123VideoService
call fcn.00406bad
test eax, eax
pop ecx
jne 0x413b1c
and word [ebp - 0x208], ax
mov ecx, 0x81
lea edi, [ebp - 0x206]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [esi + 0xdc]
test eax, eax
jne 0x413ae5
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push 0x42bcb8
push eax
lea eax, [ebp - 0x208]
push eax
call ebx
mov eax, dword [esi + 0x8c]
test eax, eax
jne 0x413b03
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push 0
push 6
lea ecx, [ebp - 0x208]
push str.__class15
push ecx
push eax
call fcn.00401c99
add esp, 0x14
cmp dword [esi + 0x14], 9
jge 0x413b81
and word [ebp - 0x208], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x206]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [esi + 0xec]
test eax, eax
jne 0x413b4a
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push 0x42bd4c
push eax
lea eax, [ebp - 0x208]
push eax
call ebx
mov esi, dword [esi + 0x8c]
test esi, esi
jne 0x413b69
mov esi, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push 0
push 0xffffffffffffffff
lea eax, [ebp - 0x208]
push 0
push eax
push esi
call fcn.00401c99
add esp, 0x14
jmp 0x413b9b
lea eax, [ebp - 0x410]
push eax
call fcn.004045fc
lea eax, [ebp - 0x410]
push eax
call fcn.00404756
pop ecx
pop ecx
pop edi
pop esi
pop ebx
leave
ret