Function at 0x407e04
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 0x407f2b
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 0x407e56
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 0x407e80
mov ebp, 0x449d54
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.0040dfd3
pop ecx
xor ebp, ebp
cmp dword [ebx + 0x28], ebp
je 0x407e9f
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x407e91
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 0x407ebd
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 0x407edc
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x407ece
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 0x407efa
push 0x448054
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 0x407f1a
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x407f0c
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 0x407f2b
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