Function at 0x46f492
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 0x46f78b
mov rax, qword [0x00c6bc20]
test rax, rax
jne 0x46f4d1
mov edx, 0
mov ecx, 0
call fcn.004462e2
mov qword [0x00c6bc20], rax
mov edx, 1
lea rcx, [0x005b4c3c]
call fcn.004460b9
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call fcn.00446e0d
mov rdx, rax
mov rax, qword [0x00c6bc20]
mov rcx, rax
call fcn.004464b0
mov rax, qword [0x00c6bd88]
test rax, rax
jne 0x46f522
mov edx, 0
mov ecx, 0
call fcn.004462e2
mov qword [0x00c6bd88], rax
mov rax, qword [0x00c6bd90]
test rax, rax
jne 0x46f544
mov edx, 0
mov ecx, 0
call fcn.004462e2
mov qword [0x00c6bd90], rax
mov rdx, qword [0x00c6bc20]
mov rax, qword [0x00c6bd88]
mov rcx, rax
call fcn.004464b0
mov rax, qword [0x00c6bd88]
mov eax, dword [rax + 8]
mov dword [0x00c6bc18], eax
mov eax, dword [0x00c6bc18]
test eax, eax
jle 0x46f5d7
mov rax, qword [0x00c6bd88]
mov rdx, qword [rax]
mov eax, dword [0x00c6bc18]
cdqe
sub rax, 1
add rax, rdx
movzx eax, byte [rax]
cmp al, 0x2f
je 0x46f5b4
mov rax, qword [0x00c6bd88]
mov rdx, qword [rax]
mov eax, dword [0x00c6bc18]
cdqe
sub rax, 1
add rax, rdx
movzx eax, byte [rax]
cmp al, 0x5c
jne 0x46f5c6
mov rax, qword [0x00c6bd88]
mov edx, dword [0x00c6bc18]
mov dword [rax + 8], edx
jmp 0x46f5d7
mov eax, dword [0x00c6bc18]
sub eax, 1
mov dword [0x00c6bc18], eax
jmp 0x46f56a
mov eax, dword [0x00c6bc18]
test eax, eax
jne 0x46f5ef
mov rax, qword [0x00c6bd88]
mov dword [rax + 8], 0
mov dword [0x00c6bd98], 0
mov rax, qword [0x00c6bc20]
mov rcx, rax
call fcn.00439185
lea rdx, [0x00c6bc40]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindFirstFileA]
call rax
mov qword [0x00c6bd80], rax
mov rax, qword [0x00c6bd80]
cmp rax, 0xffffffffffffffff
jne 0x46f63e
mov ecx, 0x35
call fcn.0044487a
jmp 0x46f78f
mov eax, dword [0x00c6bc40]
and eax, 0x10
test eax, eax
jne 0x46f73a
lea rcx, [0x00c6bc6c]
call sub.msvcrt.dll_strlen
add eax, 1
mov edx, eax
lea rcx, [0x00c6bc6c]
call fcn.004460b9
mov rdx, rax
mov rax, qword [0x00c6bd88]
mov rcx, rax
call fcn.00446e0d
mov rdx, rax
mov rax, qword [0x00c6bd90]
mov rcx, rax
call fcn.004464b0
mov rax, qword [0x00c6bd90]
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 0x46f72b
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov dword [0x00c6bc18], eax
mov eax, dword [0x00c6bc18]
cmp eax, 5
je 0x46f6ea
mov eax, dword [0x00c6bc18]
cmp eax, 0x13
je 0x46f6ea
mov eax, dword [0x00c6bc18]
cmp eax, 0x21
je 0x46f6ea
mov eax, dword [0x00c6bc18]
cmp eax, 0x20
jne 0x46f70c
mov rax, qword [0x00c6bd80]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindClose]
call rax
mov ecx, 0x37
call fcn.0044487a
jmp 0x46f78f
mov rax, qword [0x00c6bd80]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindClose]
call rax
mov ecx, 0x35
call fcn.0044487a
jmp 0x46f78f
mov eax, dword [0x00c6bd98]
add eax, 1
mov dword [0x00c6bd98], eax
mov rax, qword [0x00c6bd80]
lea rdx, [0x00c6bc40]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindNextFileA]
call rax
test eax, eax
setne al
test al, al
je 0x46f762
jmp 0x46f63e
mov rax, qword [0x00c6bd80]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindClose]
call rax
mov eax, dword [0x00c6bd98]
test eax, eax
jne 0x46f78e
mov ecx, 0x35
call fcn.0044487a
jmp 0x46f78f
nop
jmp 0x46f78f
nop
add rsp, 0x20
pop rbp
ret