Function at 0x42502c
Capabilities:
Check if file exists
Get common file path

Disassembly:
mov eax, 0x46550e
call fcn.00461c40
sub esp, 0x218
push esi
mov esi, dword [0x4859dc]
and dword [ebp - 4], 0
test esi, esi
jne 0x425051
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 ebx
push edi
mov edi, dword [sym.imp.MSVCRT.dll_wcslen]
push esi
call edi
pop ecx
push eax
push esi
push dword [ebp + 0x10]
lea ecx, [ebp + 8]
push 0
call dword [sym.imp.MSVCP60.dll_public:_int___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::compare_unsigned_int__unsigned_int__unsigned_short_int_const___unsigned_int_const]
mov ebx, dword [sym.imp.MSVCRT.dll_wcscpy]
mov esi, 0x4859e8
test eax, eax
je 0x425086
push 0x4845cc
push esi
call ebx
pop ecx
pop ecx
push esi
call edi
test eax, eax
pop ecx
je 0x42509d
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x425187
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
mov ecx, 0x4859d8
push dword [eax]
lea eax, [ebp + 8]
push 0
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::assign_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_int__unsigned_int_]
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.Ht4Dll.dll_public:_static_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_CHtPath::GetHt4AppDataFolder_void_]
pop ecx
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 1
test eax, eax
jne 0x4250d0
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
push esi
call ebx
mov edi, dword [sym.imp.Ht4Dll.dll_public:_static_int___cdecl_CHtPath::CreateDirTree_unsigned_short_int_const__]
push esi
call edi
add esp, 0xc
test eax, eax
je 0x4250f0
push esi
call dword [sym.imp.Ht4Dll.dll_public:_static_int___cdecl_CHtPath::IsPathWritable_unsigned_short_int_const__]
test eax, eax
pop ecx
jne 0x42510c
push esi
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push str.arcHeat
push esi
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push esi
call edi
pop ecx
and word [ebp - 0x224], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x222]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x224]
push str.WebParameters_
push eax
call ebx
mov eax, dword [ebp + 0xc]
pop ecx
test eax, eax
pop ecx
jne 0x425141
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 edi, dword [sym.imp.MSVCRT.dll_wcscat]
push eax
lea eax, [ebp - 0x224]
push eax
call edi
lea eax, [ebp - 0x224]
push str..ini
push eax
call edi
add esp, 0x10
lea eax, [ebp - 0x224]
push eax
push esi
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push esi
call dword [sym.imp.Ht4Dll.dll_void___cdecl_filetool::InitUnicodePrivateProfile_unsigned_short_int_const__]
and byte [ebp - 4], 0
pop ecx
push 1
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
push esi
call dword [sym.imp.MSVCRT.dll_wcslen]
pop ecx
pop edi
test eax, eax
pop ebx
je 0x4251a5
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4251a5
push 1
pop esi
jmp 0x4251a7
xor esi, esi
or dword [ebp - 4], 0xffffffff
push 1
lea ecx, [ebp + 8]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop esi
mov dword fs:[0], ecx
leave
ret