Function at 0x40c5e4
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 0x40c70b
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 0x40c636
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 0x40c660
mov ebp, 0x451074
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.00417542
pop ecx
xor ebp, ebp
cmp dword [ebx + 0x28], ebp
je 0x40c67f
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x40c671
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 0x40c69d
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 0x40c6bc
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x40c6ae
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 0x40c6da
push 0x44f278
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 0x40c6fa
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x40c6ec
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 0x40c70b
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