Function at 0x140005174
Capabilities:
Check if file exists
Create directory

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x100
mov rax, qword [0x140060010]
xor rax, rsp
mov qword [rbp + 0x47], rax
mov rbx, rdx
mov qword [rsp + 0x28], rdx
and dword [rsp + 0x20], 0
lea rcx, [rbp - 0x51]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CFileName::constructor_void____ptr64]
nop
lea rcx, [rbp - 0x79]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CStringT_wchar_t_::constructor_void____ptr64]
nop
mov edx, 5
lea r8d, [rdx - 4]
lea rcx, [rbp - 0x51]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CFileName::GetSpecialDirectory_enum_Cmm::CFileName::SpecialFolder__int____ptr64]
or r8, 0xffffffffffffffff
lea rdx, str.data
lea rcx, [rbp - 0x51]
call qword [sym.imp.Cmmlib.dll_public:_unsigned_long_long_unsigned___int64____cdecl_Cmm::CStringT_wchar_t_::rfind_wchar_t_const____ptr64__unsigned_long_long_unsigned___int64__const___ptr64]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x140005200
lea rdx, str.plugin
lea rcx, [rbp - 0x79]
call qword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____ptr64___cdecl_Cmm::CStringT_wchar_t_::operator_wchar_t_const____ptr64____ptr64]
jmp 0x14000526b
lea rdx, str.data
lea rcx, [rbp - 1]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CStringT_wchar_t_::constructor_wchar_t_const____ptr64____ptr64]
nop
mov rcx, rax
call qword [sym.imp.Cmmlib.dll_public:_unsigned_long_long_unsigned___int64____cdecl_Cmm::CStringT_wchar_t_::size_void_const___ptr64]
lea r8, [rdi + rax]
or r9, 0xffffffffffffffff
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x51]
call qword [sym.imp.Cmmlib.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_Cmm::CStringT_wchar_t_::substr_unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64_____ptr64]
nop
mov r8, rax
lea rcx, [rbp + 0x27]
call fcn.1400064d8
nop
mov rdx, rax
lea rcx, [rbp - 0x79]
call qword [reloc.Cmmlib.dll___4__CStringT__W_Cmm__QEAAAEAV01_AEBV__basic_string__WU__char_traits__W_std__V__allocator__W_2__std___Z]
nop
lea rcx, [rbp + 0x27]
call fcn.140004114
nop
lea rcx, [rbp - 0x29]
call fcn.140004114
nop
lea rcx, [rbp - 1]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
mov rcx, rbx
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CFileName::constructor_void____ptr64]
mov dword [rsp + 0x20], 1
mov edx, 3
lea r8d, [rdx - 2]
mov rcx, rbx
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CFileName::GetSpecialDirectory_enum_Cmm::CFileName::SpecialFolder__int____ptr64]
lea rcx, [rbp - 0x29]
call qword [sym.imp.Cmmlib.dll_public:_static_class_Cmm::CStringT_wchar_t____cdecl_Cmm::CFileName::GetCurrProductHomeString_void_]
nop
mov r8, rax
lea rdx, [0x1400439c8]
lea rcx, [rbp - 1]
call fcn.140001c0c
nop
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____ptr64___cdecl_Cmm::CStringT_wchar_t_::operator_class_Cmm::CStringT_wchar_t__const____ptr64____ptr64]
nop
lea rcx, [rbp - 1]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x29]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
mov rcx, rbx
call qword [sym.imp.Cmmlib.dll_public:_wchar_t_const____ptr64___cdecl_Cmm::CStringT_wchar_t_::c_str_void_const___ptr64]
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14000530c
mov rcx, rbx
call qword [sym.imp.Cmmlib.dll_public:_wchar_t_const____ptr64___cdecl_Cmm::CStringT_wchar_t_::c_str_void_const___ptr64]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x14000530c
lea rdx, [rbp - 0x79]
mov rcx, rbx
call qword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____ptr64___cdecl_Cmm::CStringT_wchar_t_::operator_class_Cmm::CStringT_wchar_t__const____ptr64____ptr64]
jmp 0x140005344
lea rdx, [rbp - 0x79]
mov rcx, rbx
call qword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____ptr64___cdecl_Cmm::CStringT_wchar_t_::operator_class_Cmm::CStringT_wchar_t__const____ptr64____ptr64]
mov rcx, rbx
call qword [sym.imp.Cmmlib.dll_public:_wchar_t_const____ptr64___cdecl_Cmm::CStringT_wchar_t_::c_str_void_const___ptr64]
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x140005344
mov rcx, rbx
call qword [sym.imp.Cmmlib.dll_public:_wchar_t_const____ptr64___cdecl_Cmm::CStringT_wchar_t_::c_str_void_const___ptr64]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
nop
lea rcx, [rbp - 0x79]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x51]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CFileName::destructor_void____ptr64]
mov rax, rbx
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.140037640
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret