Function at 0x7ff7c15b2e20
Capabilities:
Check if file exists
Delete directory
Delete file

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x68
mov qword [rbp - 0x48], 0xfffffffffffffffe
mov rbx, rdx
call fcn.7ff7c15b3114
mov edi, eax
test eax, eax
js 0x7ff7c15b30d1
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x28], xmm0
and qword [rbp - 0x18], 0
lea r8, [rbp - 0x28]
mov rdx, rbx
call fcn.7ff7c15b366c
mov edi, eax
mov rax, qword [0x7ff7c161b338]
lea rcx, [0x7ff7c161b338]
mov rax, qword [rax + 0x18]
call qword [0x7ff7c15f6588]
add rax, 0x18
mov qword [rbp + 0x38], rax
jmp 0x7ff7c15b3017
lea rbx, [rsi - 0x10]
mov rcx, qword [rbx]
sub rcx, 0x18
call fcn.7ff7c15a4d20
lea r8, [rax + 0x18]
mov qword [rbp - 0x38], r8
mov al, byte [rbx + 8]
mov byte [rbp - 0x30], al
mov eax, dword [rbx + 0xc]
mov dword [rbp - 0x2c], eax
cmp qword [rbp - 0x28], rsi
je 0x7ff7c15b2eea
mov rdx, qword [rbx]
sub rdx, 0x18
or esi, 0xffffffff
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x7ff7c15b2ee0
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x7ff7c15f6588]
mov qword [rbp - 0x20], rbx
mov r8, qword [rbp - 0x38]
jmp 0x7ff7c15b2eed
or esi, 0xffffffff
mov rbx, qword [rbp + 0x30]
mov rdx, qword [rbx]
lea rcx, [rbp + 0x40]
call fcn.7ff7c15af034
nop
mov rdx, rax
lea rcx, [rbp + 0x38]
call fcn.7ff7c15a4168
nop
mov rdx, qword [rbp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x7ff7c15b2f30
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x7ff7c15f6588]
cmp byte [rbp - 0x30], 0
je 0x7ff7c15b2f5a
lea rdx, [rbp + 0x38]
mov rcx, qword [rbp + 0x28]
call fcn.7ff7c15b2e20
test eax, eax
jns 0x7ff7c15b2ff2
test edi, edi
js 0x7ff7c15b2ff2
mov edi, eax
jmp 0x7ff7c15b2ff2
test byte [rbp - 0x2c], 1
je 0x7ff7c15b2fb0
mov rbx, qword [rbp + 0x38]
call fcn.7ff7c15abfac
mov edx, 0x80
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__wchmod]
test eax, eax
je 0x7ff7c15b2fb0
call qword [sym.imp.msvcrt.dll__errno]
mov rbx, qword [rbp + 0x30]
cmp dword [rax], 2
je 0x7ff7c15b2fa5
cmp dword [rax], 0x16
je 0x7ff7c15b2f9a
test edi, edi
js 0x7ff7c15b2ff2
mov edi, 0x80004005
jmp 0x7ff7c15b2ff2
test edi, edi
js 0x7ff7c15b2ff2
mov edi, 0x80070057
jmp 0x7ff7c15b2ff2
test edi, edi
js 0x7ff7c15b2ff2
mov edi, 0x80070002
jmp 0x7ff7c15b2ff2
mov rbx, qword [rbp + 0x38]
call fcn.7ff7c15abfac
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x7ff7c15b2fee
call fcn.7ff7c15abfac
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rbx, qword [rbp + 0x30]
cmp eax, 2
je 0x7ff7c15b2ff2
test edi, edi
js 0x7ff7c15b2ff2
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
jmp 0x7ff7c15b2ff2
mov rbx, qword [rbp + 0x30]
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x7ff7c15b3017
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x7ff7c15f6588]
mov rsi, qword [rbp - 0x20]
mov rax, rsi
sub rax, qword [rbp - 0x28]
sar rax, 4
test rax, rax
jne 0x7ff7c15b2e8f
mov rbx, qword [rbx]
call fcn.7ff7c15abfac
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x7ff7c15b3061
test edi, edi
js 0x7ff7c15b3061
call fcn.7ff7c15abfac
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
mov rdx, qword [rbp + 0x38]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x7ff7c15b3087
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x7ff7c15f6588]
nop
mov rbx, qword [rbp - 0x28]
test rbx, rbx
je 0x7ff7c15b30d1
cmp rbx, qword [rbp - 0x20]
je 0x7ff7c15b30c8
mov rdx, qword [rbx]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x7ff7c15b30ba
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x7ff7c15f6588]
add rbx, 0x10
cmp rbx, qword [rbp - 0x20]
jne 0x7ff7c15b3096
mov rbx, qword [rbp - 0x28]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
mov eax, edi
add rsp, 0x68
pop rdi
pop rsi
pop rbx
pop rbp
ret