Function at 0x408a6a
Capabilities:
Get common file path

Disassembly:
sub esp, 0x800
push ebx
push ebp
mov ebx, ecx
xor ebp, ebp
push esi
cmp dword [ebx + 0x28], ebp
jne 0x408b91
lea eax, [esp + 0xc]
push edi
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov edi, dword [sym.imp.MSVCRT.dll_wcslen]
lea eax, [esp + 0x10]
push eax
lea esi, [ebx + 0x20]
call edi
pop ecx
push eax
lea eax, [esp + 0x14]
push eax
mov ecx, esi
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_unsigned_short_int_const___unsigned_int_]
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x408abc
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 ebp
push eax
call dword [sym.imp.MSVCRT.dll__waccess]
pop ecx
test eax, eax
pop ecx
je 0x408ae6
mov ebp, 0x41ec74
push ebp
call edi
pop ecx
push eax
push ebp
mov ecx, esi
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_unsigned_short_int_const___unsigned_int_]
push esi
call fcn.004069f4
pop ecx
xor ebp, ebp
cmp dword [ebx + 0x28], ebp
je 0x408b05
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x408af7
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 ebp
push eax
call dword [sym.imp.MSVCRT.dll__waccess]
pop ecx
test eax, eax
pop ecx
je 0x408b23
push str.TEMP
call dword [sym.imp.MSVCRT.dll__wgetenv]
mov ebp, eax
push ebp
call edi
pop ecx
pop ecx
push eax
push ebp
mov ecx, esi
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_unsigned_short_int_const___unsigned_int_]
xor ebp, ebp
cmp dword [ebx + 0x28], ebp
je 0x408b42
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x408b34
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 ebp
push eax
call dword [sym.imp.MSVCRT.dll__waccess]
pop ecx
test eax, eax
pop ecx
je 0x408b60
push 0x41de54
call dword [sym.imp.MSVCRT.dll__wgetenv]
mov ebp, eax
push ebp
call edi
pop ecx
pop ecx
push eax
push ebp
mov ecx, esi
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_unsigned_short_int_const___unsigned_int_]
xor ebp, ebp
cmp dword [ebx + 0x28], ebp
pop edi
je 0x408b80
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x408b72
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 ebp
push eax
call dword [sym.imp.MSVCRT.dll__waccess]
pop ecx
test eax, eax
pop ecx
je 0x408b91
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, esi
push dword [eax]
push ebp
push ebx
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_]
pop esi
lea eax, [ebx + 0x20]
pop ebp
pop ebx
add esp, 0x800
ret