Function at 0x46f572
Capabilities:
Delete file
Enumerate files on windows

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov rax, qword [0x005d2ab0]
mov eax, dword [rax]
test eax, eax
jne 0x46f86b
mov rax, qword [0x00c6bc40]
test rax, rax
jne 0x46f5b1
mov edx, 0
mov ecx, 0
call fcn.004463c2
mov qword [0x00c6bc40], rax
mov edx, 1
lea rcx, [0x005b4c3c]
call fcn.00446199
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call fcn.00446eed
mov rdx, rax
mov rax, qword [0x00c6bc40]
mov rcx, rax
call fcn.00446590
mov rax, qword [0x00c6bda8]
test rax, rax
jne 0x46f602
mov edx, 0
mov ecx, 0
call fcn.004463c2
mov qword [0x00c6bda8], rax
mov rax, qword [0x00c6bdb0]
test rax, rax
jne 0x46f624
mov edx, 0
mov ecx, 0
call fcn.004463c2
mov qword [0x00c6bdb0], rax
mov rdx, qword [0x00c6bc40]
mov rax, qword [0x00c6bda8]
mov rcx, rax
call fcn.00446590
mov rax, qword [0x00c6bda8]
mov eax, dword [rax + 8]
mov dword [0x00c6bc38], eax
mov eax, dword [0x00c6bc38]
test eax, eax
jle 0x46f6b7
mov rax, qword [0x00c6bda8]
mov rdx, qword [rax]
mov eax, dword [0x00c6bc38]
cdqe
sub rax, 1
add rax, rdx
movzx eax, byte [rax]
cmp al, 0x2f
je 0x46f694
mov rax, qword [0x00c6bda8]
mov rdx, qword [rax]
mov eax, dword [0x00c6bc38]
cdqe
sub rax, 1
add rax, rdx
movzx eax, byte [rax]
cmp al, 0x5c
jne 0x46f6a6
mov rax, qword [0x00c6bda8]
mov edx, dword [0x00c6bc38]
mov dword [rax + 8], edx
jmp 0x46f6b7
mov eax, dword [0x00c6bc38]
sub eax, 1
mov dword [0x00c6bc38], eax
jmp 0x46f64a
mov eax, dword [0x00c6bc38]
test eax, eax
jne 0x46f6cf
mov rax, qword [0x00c6bda8]
mov dword [rax + 8], 0
mov dword [0x00c6bdb8], 0
mov rax, qword [0x00c6bc40]
mov rcx, rax
call fcn.00439265
lea rdx, [0x00c6bc60]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindFirstFileA]
call rax
mov qword [0x00c6bda0], rax
mov rax, qword [0x00c6bda0]
cmp rax, 0xffffffffffffffff
jne 0x46f71e
mov ecx, 0x35
call fcn.0044495a
jmp 0x46f86f
mov eax, dword [0x00c6bc60]
and eax, 0x10
test eax, eax
jne 0x46f81a
lea rcx, [0x00c6bc8c]
call sub.msvcrt.dll_strlen
add eax, 1
mov edx, eax
lea rcx, [0x00c6bc8c]
call fcn.00446199
mov rdx, rax
mov rax, qword [0x00c6bda8]
mov rcx, rax
call fcn.00446eed
mov rdx, rax
mov rax, qword [0x00c6bdb0]
mov rcx, rax
call fcn.00446590
mov rax, qword [0x00c6bdb0]
mov rax, qword [rax]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_DeleteFileA]
call rax
test eax, eax
sete al
test al, al
je 0x46f80b
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov dword [0x00c6bc38], eax
mov eax, dword [0x00c6bc38]
cmp eax, 5
je 0x46f7ca
mov eax, dword [0x00c6bc38]
cmp eax, 0x13
je 0x46f7ca
mov eax, dword [0x00c6bc38]
cmp eax, 0x21
je 0x46f7ca
mov eax, dword [0x00c6bc38]
cmp eax, 0x20
jne 0x46f7ec
mov rax, qword [0x00c6bda0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindClose]
call rax
mov ecx, 0x37
call fcn.0044495a
jmp 0x46f86f
mov rax, qword [0x00c6bda0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindClose]
call rax
mov ecx, 0x35
call fcn.0044495a
jmp 0x46f86f
mov eax, dword [0x00c6bdb8]
add eax, 1
mov dword [0x00c6bdb8], eax
mov rax, qword [0x00c6bda0]
lea rdx, [0x00c6bc60]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindNextFileA]
call rax
test eax, eax
setne al
test al, al
je 0x46f842
jmp 0x46f71e
mov rax, qword [0x00c6bda0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindClose]
call rax
mov eax, dword [0x00c6bdb8]
test eax, eax
jne 0x46f86e
mov ecx, 0x35
call fcn.0044495a
jmp 0x46f86f
nop
jmp 0x46f86f
nop
add rsp, 0x20
pop rbp
ret