Function at 0x1400403d0
Capabilities:
Check if file exists
Delete directory
Delete file
Get file attributes

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1e0]
sub rsp, 0x2e0
mov rax, qword [0x140097030]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov r13, rcx
xor r15d, r15d
mov dword [rsp + 0x50], r15d
mov rcx, rdx
call qword [sym.imp.adp_core_6_1.dll_public:_wchar_t_const____ptr64___cdecl_autodesk::platform::core::string::WideString::string_void_const___ptr64]
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.140037240
nop
mov r14, qword [rbp - 0x50]
lea rbx, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae rbx, qword [rbp - 0x60]
movabs rax, 0x7ffffffffffffffe
cmp r14, 8
jae 0x140040456
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x30], xmm0
lea esi, [r15 + 7]
mov rdi, qword [rsp + 0x30]
jmp 0x140040497
mov rsi, r14
or rsi, 7
cmp rsi, rax
cmova rsi, rax
lea rdx, [rsi + 1]
lea rcx, [rsp + 0x30]
call fcn.140004550
mov rdi, rax
mov qword [rsp + 0x30], rax
lea r8, [r14*2 + 2]
mov rdx, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
movabs rax, 0x7ffffffffffffffe
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], r14
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
lea r15, [rsp + 0x30]
cmp rsi, 8
setae r12b
cmovae r15, rdi
cmp r14, 8
jae 0x1400404d6
movups xmm0, xmmword [r15]
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x68], 7
jmp 0x14004050c
mov rbx, r14
or rbx, 7
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp - 0x80]
call fcn.140004550
mov qword [rbp - 0x80], rax
lea r8, [r14*2 + 2]
mov rdx, r15
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x70], r14
test r12b, r12b
je 0x14004054e
lea rdx, [rsi*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140040545
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140040545
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.1400624c4
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x140040591
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004058c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004058c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400624c4
xor r14d, r14d
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r14w
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x50]
call fcn.140005300
cmp dword [rax], 1
jbe 0x14004070c
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
movabs rsi, 0x2000000020800c
cmp eax, 0xffffffff
jne 0x14004061e
call qword [sym.imp.KERNEL32.dll_GetLastError]
movsxd rdi, eax
cmp edi, 0x35
ja 0x1400405f5
bt rsi, rdi
jb 0x140040617
cmp edi, 0x7b
je 0x140040617
cmp edi, 0x57
je 0x140040617
cmp edi, 0xa1
je 0x140040617
mov ebx, r14d
mov eax, 0xa
cmp edi, 0x20
cmove ebx, eax
jmp 0x14004064f
mov ebx, 1
jmp 0x14004064f
mov edi, r14d
bt ebx, 0xa
jae 0x140040646
lea rcx, [rbp - 0x80]
call fcn.1400050e0
test al, al
je 0x140040670
test bl, 0x10
mov ebx, 4
mov eax, 0xb
cmovne ebx, eax
jmp 0x14004064f
and ebx, 0x10
or ebx, 0x20
shr ebx, 4
test ebx, ebx
jne 0x14004065d
test edi, edi
jne 0x140040998
jmp 0x140040670
cmp ebx, 1
je 0x14004070c
lea eax, [rbx - 3]
test eax, 0xfffffff7
je 0x1400406c1
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x14004070c
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x35
ja 0x1400406a0
movsxd rcx, eax
bt rsi, rcx
jb 0x14004070c
cmp eax, 0x7b
je 0x14004070c
cmp eax, 0x57
je 0x14004070c
cmp eax, 0xa1
je 0x14004070c
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1400409a4
jmp 0x14004070c
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x14004070c
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x35
ja 0x1400406ed
movsxd rcx, eax
bt rsi, rcx
jb 0x14004070c
cmp eax, 0x7b
je 0x14004070c
cmp eax, 0x57
je 0x14004070c
cmp eax, 0xa1
je 0x14004070c
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14004098c
mov ecx, 8
call fcn.140062488
mov rsi, rax
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsi], rax
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.1400048b0
nop
mov dword [rsp + 0x50], 0xd
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], r14w
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r14w
cmp qword [rax + 0x18], 0x10
jb 0x140040772
mov rax, qword [rax]
lea rdx, [rbp - 0x40]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll__To_wide]
test eax, eax
jne 0x140040791
lea rcx, str.invalid_char_filename_argument
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_]
int3
lea rax, [rbp - 0x40]
mov rdx, 0xffffffffffffffff
nop dword [rax]
inc rdx
cmp word [rax + rdx*2], 0
jne 0x1400407a0
mov rcx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x48]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x1400407ee
lea rdi, [rcx + rdx]
mov qword [rbp - 0x50], rdi
lea rbx, [rbp - 0x60]
cmp r8, 8
cmovae rbx, qword [rbp - 0x60]
lea rcx, [rbx + rcx*2]
lea r8, [rdx + rdx]
lea rdx, [rbp - 0x40]
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + rdi*2], r14w
lea rax, [rbp - 0x60]
jmp 0x140040800
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x40]
lea rcx, [rbp - 0x60]
call fcn.140004750
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140037550
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x140040851
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004084c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004084c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400624c4
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r14w
mov dword [rsp + 0x50], 0xf
mov r9b, 1
xor r8d, r8d
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.14004ea80
nop
mov qword [r13 + 0x340], rax
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x1400408ca
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400408c5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400408c5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400624c4
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], r14w
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x14004091f
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040919
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140040919
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400624c4
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x140040962
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004095d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004095d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400624c4
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.1400621d0
mov rbx, qword [rsp + 0x330]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rdx, [rbp - 0x80]
mov ecx, eax
call fcn.140004f20
int3
lea rdx, [rbp - 0x80]
mov ecx, edi
call fcn.140004f20
int3
lea rdx, [rbp - 0x80]
mov ecx, eax
call fcn.140004f20
int3