Function at 0x140003da4
Capabilities:
Check if file exists
Enumerate files on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x2b0]
sub rsp, 0x3b0
mov rax, qword [0x140060010]
xor rax, rsp
mov qword [rbp + 0x2a0], rax
mov rsi, r8
mov r14, rdx
mov rbx, rcx
mov qword [rsp + 0x58], rcx
and dword [rsp + 0x50], 0
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CFileName::constructor_void____ptr64]
mov dword [rsp + 0x50], 1
xor edx, edx
mov r8d, 0x250
lea rcx, [rbp + 0x50]
call sub.VCRUNTIME140.dll_memset
mov rdx, r14
lea rcx, [rbp + 0x28]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CStringT_wchar_t_::constructor_class_Cmm::CStringT_wchar_t__const____ptr64____ptr64]
nop
lea rdx, [0x1400439c0]
lea rcx, [rbp + 0x28]
call qword [sym.imp.Cmmlib.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64___cdecl_Cmm::CStringT_wchar_t_::append_wchar_t_const____ptr64____ptr64]
lea rcx, [rbp + 0x28]
call qword [sym.imp.Cmmlib.dll_public:_wchar_t_const____ptr64___cdecl_Cmm::CStringT_wchar_t_::c_str_void_const___ptr64]
mov rcx, rax
lea rdx, [rbp + 0x50]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rdi, rax
lea rcx, [rbp]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CStringT_wchar_t_::constructor_void____ptr64]
nop
cmp rdi, 0xffffffffffffffff
je 0x1400040dc
test byte [rbp + 0x50], 0x10
je 0x140004082
lea rdx, [rbp + 0x7c]
lea rcx, [rbp - 0x28]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CStringT_wchar_t_::constructor_wchar_t_const____ptr64____ptr64]
nop
lea rdx, [0x140043750]
lea rcx, [rbp - 0x28]
call qword [sym.imp.Cmmlib.dll_public:_int___cdecl_Cmm::CStringT_wchar_t_::Compare_wchar_t_const____ptr64_const___ptr64]
test eax, eax
je 0x140004078
lea rdx, [0x140043754]
lea rcx, [rbp - 0x28]
call qword [sym.imp.Cmmlib.dll_public:_int___cdecl_Cmm::CStringT_wchar_t_::Compare_wchar_t_const____ptr64_const___ptr64]
test eax, eax
je 0x140004078
mov rdx, r14
lea rcx, [rbp - 0x78]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CStringT_wchar_t_::constructor_class_Cmm::CStringT_wchar_t__const____ptr64____ptr64]
nop
lea rdx, [0x1400439c8]
lea rcx, [rbp - 0x78]
call qword [sym.imp.Cmmlib.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64___cdecl_Cmm::CStringT_wchar_t_::append_wchar_t_const____ptr64____ptr64]
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x78]
call qword [sym.imp.Cmmlib.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64___cdecl_Cmm::CStringT_wchar_t_::append_class_Cmm::CStringT_wchar_t__const____ptr64____ptr64]
lea rdx, [rbp - 0x28]
lea rcx, [rsp + 0x60]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CStringT_wchar_t_::constructor_class_Cmm::CStringT_wchar_t__const____ptr64____ptr64]
nop
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x50]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CStringT_wchar_t_::constructor_class_Cmm::CStringT_wchar_t__const____ptr64____ptr64]
mov rax, qword [sym.imp.Cmmlib.dll_const_Cmm::CFileName::vftable]
mov qword [rbp - 0x50], rax
lea rcx, [rbp - 0x50]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CFileName::MakeSlash_void____ptr64]
lea rdx, str.deprecated_version.dat
lea rcx, [rbp - 0x50]
call qword [reloc.Cmmlib.dll___Y__CStringT__W_Cmm__QEAAAEAV01_PEB_W_Z]
lea rcx, [rbp - 0x50]
call qword [sym.imp.Cmmlib.dll_public:_wchar_t_const____ptr64___cdecl_Cmm::CStringT_wchar_t_::operator_wchar_t_const____ptr64_void_const___ptr64]
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x140004056
call fcn.140004de4
lea rdx, [rbp - 0x78]
call fcn.140004bc0
test eax, eax
je 0x140004056
mov rcx, rsi
call qword [sym.imp.Cmmlib.dll_public:_int___cdecl_Cmm::CStringT_wchar_t_::IsEmpty_void_const___ptr64]
test eax, eax
jne 0x140003f5b
mov rdx, rsi
lea rcx, [rsp + 0x60]
call qword [sym.imp.Cmmlib.dll_public:_bool___cdecl_Cmm::CStringT_wchar_t_::operator_class_Cmm::CStringT_wchar_t__const____ptr64_const___ptr64]
test al, al
jne 0x140004098
lea rcx, [rsp + 0x60]
call qword [sym.imp.Cmmlib.dll_public:_bool___cdecl_Cmm::CStringT_wchar_t_::empty_void_const___ptr64]
test al, al
jne 0x140004056
and dword [rsp + 0x30], 0
and dword [rsp + 0x34], 0
and dword [rsp + 0x38], 0
and dword [rsp + 0x4c], 0
and dword [rsp + 0x3c], 0
and dword [rsp + 0x40], 0
and dword [rsp + 0x44], 0
and dword [rsp + 0x48], 0
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x34]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.140005b98
test al, al
je 0x140004013
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x44]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x3c]
lea rcx, [rbp]
call fcn.140005b98
test al, al
je 0x140004013
mov eax, dword [rsp + 0x3c]
cmp dword [rsp + 0x30], eax
jg 0x140004039
jl 0x140004056
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x34], eax
jg 0x140004039
jl 0x140004056
mov eax, dword [rsp + 0x44]
cmp dword [rsp + 0x38], eax
jg 0x140004039
jl 0x140004056
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0x4c], eax
jle 0x140004056
jmp 0x140004039
lea rdx, [rbp]
lea rcx, [rsp + 0x60]
call qword [sym.imp.Cmmlib.dll_public:_bool___cdecl_Cmm::CStringT_wchar_t_::operator_class_Cmm::CStringT_wchar_t__const____ptr64_const___ptr64]
test al, al
jne 0x140004056
lea rdx, [rbp]
lea rcx, [rsp + 0x60]
call qword [sym.imp.Cmmlib.dll_public:_bool___cdecl_Cmm::CStringT_wchar_t_::operator__class_Cmm::CStringT_wchar_t__const____ptr64_const___ptr64]
test al, al
jne 0x140004056
lea rdx, [rbp - 0x78]
mov rcx, rbx
call qword [reloc.Cmmlib.dll___4__CStringT__W_Cmm__QEAAAEAV01_AEBV01__Z]
lea rdx, [rsp + 0x60]
lea rcx, [rbp]
call qword [reloc.Cmmlib.dll___4__CStringT__W_Cmm__QEAAAEAV01_AEBV01__Z]
nop
lea rcx, [rbp - 0x50]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CFileName::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x60]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x78]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x28]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
lea rdx, [rbp + 0x50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x1400040d2
jmp 0x140003e4b
lea rdx, [rbp - 0x78]
mov rcx, rbx
call qword [reloc.Cmmlib.dll___4__CStringT__W_Cmm__QEAAAEAV01_AEBV01__Z]
nop
lea rcx, [rbp - 0x50]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CFileName::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x60]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x78]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x28]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
lea rcx, [rbp]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x28]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
mov rax, rbx
mov rcx, qword [rbp + 0x2a0]
xor rcx, rsp
call fcn.140037640
add rsp, 0x3b0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret