Function at 0x40f28c
Capabilities:
Check if file exists
Create directory
Get common file path
Get file attributes

Disassembly:
push 0x3ac
mov eax, 0x411fa3
call fcn.0040f8eb
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3b4], eax
xor eax, eax
mov dword [ebp - 0x3b8], eax
mov esi, dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::destructor_void_]
xor ebx, ebx
inc ebx
mov dword [ebp - 4], ebx
cmp dword [ebp + 0xc], eax
jne 0x40f2ed
lea eax, [ebp - 0x3b0]
push eax
call fcn.0040edff
pop ecx
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 2
call dword [sym.imp.Common.dll_public:_class_CTXStringW____thiscall_CTXStringW::operator_class_CTXStringW_const__]
lea ecx, [ebp - 0x3b0]
mov byte [ebp - 4], bl
call esi
push str.Users_
jmp 0x40f36f
cmp dword [ebp + 0xc], ebx
jne 0x40f37a
push ebx
push 5
lea ecx, [ebp - 0x3a8]
push ecx
push eax
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x40f3c5
lea eax, [ebp - 0x3a8]
push eax
lea ecx, [ebp + 0x10]
call dword [sym.imp.Common.dll_public:_class_CTXStringW____thiscall_CTXStringW::operator_wchar_t__]
push 0x5c
push 0x2f
lea ecx, [ebp + 0x10]
call dword [sym.imp.Common.dll_public:_int___thiscall_CTXStringW::Replace_wchar_t__wchar_t_]
push ebx
lea eax, [ebp - 0x3b0]
push eax
lea ecx, [ebp + 0x10]
call dword [sym.imp.Common.dll_public:_class_CTXStringW___thiscall_CTXStringW::Right_int_]
push 0x5c
push eax
call dword [sym.imp.Common.dll_bool___cdecl_operator__class_CTXStringW_const___wchar_t_]
pop ecx
pop ecx
lea ecx, [ebp - 0x3b0]
mov byte [ebp - 0x3a9], al
call esi
cmp byte [ebp - 0x3a9], 0
je 0x40f36a
push 0x5c
lea ecx, [ebp + 0x10]
call dword [sym.imp.Common.dll_public:_class_CTXStringW____thiscall_CTXStringW::operator_wchar_t_]
push str.Tencent_Files_
lea ecx, [ebp + 0x10]
call dword [0x41307c]
jmp 0x40f3c5
lea ecx, [ebp + 0x10]
call dword [sym.imp.Common.dll_public:_bool___thiscall_CTXStringW::IsEmpty_void_const]
test al, al
jne 0x40f3c5
push ebx
lea eax, [ebp - 0x3b0]
push eax
lea ecx, [ebp + 0x10]
call dword [sym.imp.Common.dll_public:_class_CTXStringW___thiscall_CTXStringW::Right_int_]
push 0x5c
push eax
call dword [sym.imp.Common.dll_bool___cdecl_operator__class_CTXStringW_const___wchar_t_]
pop ecx
pop ecx
lea ecx, [ebp - 0x3b0]
mov byte [ebp - 0x3a9], al
call esi
cmp byte [ebp - 0x3a9], 0
je 0x40f3c5
push 0x5c
lea ecx, [ebp + 0x10]
call dword [sym.imp.Common.dll_public:_class_CTXStringW____thiscall_CTXStringW::operator_wchar_t_]
mov edi, dword [sym.imp.Common.dll_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const]
lea ecx, [ebp + 0x10]
call edi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x40f3fe
push 0
lea ecx, [ebp + 0x10]
call edi
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
test eax, eax
je 0x40f3fe
push 0x413658
lea ecx, [ebp + 0x10]
call dword [sym.imp.Common.dll_public:_class_CTXStringW____thiscall_CTXStringW::operator_wchar_t_const__]
mov ecx, dword [ebp - 0x3b4]
lea eax, [ebp + 0x10]
push eax
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::constructor_class_CTXStringW_const__]
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x3b8], ebx
mov byte [ebp - 4], 0
call esi
mov eax, dword [ebp - 0x3b4]
call fcn.0040f935
ret