Function at 0x4014a0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x404227
mov eax, dword fs:[0]
push eax
sub esp, 0x984
mov eax, dword [0x408004]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x420]
push eax
mov dword [ebp - 0x990], esi
push 0x104
mov dword [ebp - 0x98c], 0
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x401896
lea eax, [ebp - 0x218]
push eax
push 0
push 0x405478
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
je 0x401896
push 0xb8
lea eax, [ebp - 0x988]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x988], 0x4055b4
lea ecx, [ebp - 0x918]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
push 0
push 0
lea eax, [ebp - 0x978]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x988]
mov dword [ebp - 0x98c], 2
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x988]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x988]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x98c], eax
lea eax, [ebp - 0x978]
mov ecx, eax
mov dword [ebp - 0x990], eax
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x978]
mov dword [ebp - method.std::basic_filebuf_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov byte [ebp - 0x930], 0
mov byte [ebp - 0x93b], 0
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void_]
mov eax, dword [0x408600]
mov ecx, dword [0x408604]
mov dword [ebp - 0x92c], 0
mov dword [ebp - 0x938], eax
mov dword [ebp - 0x934], ecx
mov dword [ebp - 0x940], 0
push ecx
push 0x21
push str.._nano.ps1
lea ecx, [ebp - 0x978]
mov byte [ebp - 4], 3
call fcn.00402a20
test eax, eax
jne 0x401638
push eax
mov eax, dword [ebp - 0x988]
lea ecx, [ebp - 0x988]
push 2
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
mov dword [ebp - 4], 4
cmp dword [ebp - 0x92c], 0
jne 0x401664
push 0x405474
mov ecx, esi
call fcn.004025e0
lea ecx, [ebp - 0x988]
call fcn.004018c0
jmp 0x4018a2
push 0xb0
lea eax, [ebp - 0x8d0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x8d0], 0x4055ac
lea ecx, [ebp - 0x868]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
push 0
push 0
lea eax, [ebp - 0x8cc]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x8d0]
mov dword [ebp - 0x98c], 6
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0x8d0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x8d0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x8d4], eax
lea eax, [ebp - 0x8cc]
mov ecx, eax
mov dword [ebp - 0x990], eax
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x8cc]
mov dword [ebp - method.std::basic_filebuf_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov byte [ebp - 0x884], 0
mov byte [ebp - 0x88f], 0
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void_]
mov eax, dword [0x408600]
mov ecx, dword [0x408604]
mov dword [ebp - 0x880], 0
mov dword [ebp - 0x88c], eax
mov dword [ebp - 0x888], ecx
mov dword [ebp - 0x894], 0
push ecx
push 0x22
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x8cc]
call fcn.00402a20
test eax, eax
jne 0x40177f
push eax
mov eax, dword [ebp - 0x8d0]
lea ecx, [ebp - 0x8d0]
push 2
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
mov byte [ebp - 4], 9
cmp dword [ebp - 0x880], 0
jne 0x4017da
lea ecx, [ebp - 0x978]
call fcn.004029a0
test eax, eax
jne 0x4017b3
push eax
mov eax, dword [ebp - 0x988]
lea ecx, [ebp - 0x988]
push 2
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
push 0x405474
mov ecx, esi
call fcn.004025e0
lea ecx, [ebp - 0x8d0]
call fcn.00401980
lea ecx, [ebp - 0x988]
call fcn.004018c0
jmp 0x4018a2
mov eax, dword [ebp - 0x988]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x97c], 1
jne 0x40183c
nop dword [eax]
push 0
push 0x400
lea eax, [ebp - 0x820]
push eax
lea ecx, [ebp - 0x988]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::read_char___long_long___int64__]
push dword [ebp - 0x97c]
lea eax, [ebp - 0x820]
push dword [ebp - 0x980]
lea ecx, [ebp - 0x8d0]
push eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const___long_long___int64__]
mov eax, dword [ebp - 0x988]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x97c], 1
je 0x4017f0
lea ecx, [ebp - 0x978]
call fcn.004029a0
test eax, eax
jne 0x401863
push eax
mov eax, dword [ebp - 0x988]
lea ecx, [ebp - 0x988]
push 2
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
lea ecx, [ebp - 0x8cc]
call fcn.004029a0
test eax, eax
jne 0x40188a
push eax
mov eax, dword [ebp - 0x8d0]
lea ecx, [ebp - 0x8d0]
push 2
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
lea eax, [ebp - 0x218]
push eax
jmp 0x4017b8
push 0x405474
mov ecx, esi
call fcn.004025e0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004033d7
mov esp, ebp
pop ebp
ret 8