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

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov rax, qword [0x005d3b90]
mov eax, dword [rax]
test eax, eax
jne 0x47007b
mov rax, qword [0x00c6cc40]
test rax, rax
jne 0x46fdc1
mov edx, 0
mov ecx, 0
call fcn.00446bd2
mov qword [0x00c6cc40], rax
mov edx, 1
lea rcx, [0x005b5d1c]
call fcn.004469a9
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call fcn.004476fd
mov rdx, rax
mov rax, qword [0x00c6cc40]
mov rcx, rax
call fcn.00446da0
mov rax, qword [0x00c6cda8]
test rax, rax
jne 0x46fe12
mov edx, 0
mov ecx, 0
call fcn.00446bd2
mov qword [0x00c6cda8], rax
mov rax, qword [0x00c6cdb0]
test rax, rax
jne 0x46fe34
mov edx, 0
mov ecx, 0
call fcn.00446bd2
mov qword [0x00c6cdb0], rax
mov rdx, qword [0x00c6cc40]
mov rax, qword [0x00c6cda8]
mov rcx, rax
call fcn.00446da0
mov rax, qword [0x00c6cda8]
mov eax, dword [rax + 8]
mov dword [0x00c6cc38], eax
mov eax, dword [0x00c6cc38]
test eax, eax
jle 0x46fec7
mov rax, qword [0x00c6cda8]
mov rdx, qword [rax]
mov eax, dword [0x00c6cc38]
cdqe
sub rax, 1
add rax, rdx
movzx eax, byte [rax]
cmp al, 0x2f
je 0x46fea4
mov rax, qword [0x00c6cda8]
mov rdx, qword [rax]
mov eax, dword [0x00c6cc38]
cdqe
sub rax, 1
add rax, rdx
movzx eax, byte [rax]
cmp al, 0x5c
jne 0x46feb6
mov rax, qword [0x00c6cda8]
mov edx, dword [0x00c6cc38]
mov dword [rax + 8], edx
jmp 0x46fec7
mov eax, dword [0x00c6cc38]
sub eax, 1
mov dword [0x00c6cc38], eax
jmp 0x46fe5a
mov eax, dword [0x00c6cc38]
test eax, eax
jne 0x46fedf
mov rax, qword [0x00c6cda8]
mov dword [rax + 8], 0
mov dword [0x00c6cdb8], 0
mov rax, qword [0x00c6cc40]
mov rcx, rax
call fcn.00439a75
lea rdx, [0x00c6cc60]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindFirstFileA]
call rax
mov qword [0x00c6cda0], rax
mov rax, qword [0x00c6cda0]
cmp rax, 0xffffffffffffffff
jne 0x46ff2e
mov ecx, 0x35
call fcn.0044516a
jmp 0x47007f
mov eax, dword [0x00c6cc60]
and eax, 0x10
test eax, eax
jne 0x47002a
lea rcx, [0x00c6cc8c]
call sub.msvcrt.dll_strlen
add eax, 1
mov edx, eax
lea rcx, [0x00c6cc8c]
call fcn.004469a9
mov rdx, rax
mov rax, qword [0x00c6cda8]
mov rcx, rax
call fcn.004476fd
mov rdx, rax
mov rax, qword [0x00c6cdb0]
mov rcx, rax
call fcn.00446da0
mov rax, qword [0x00c6cdb0]
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 0x47001b
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov dword [0x00c6cc38], eax
mov eax, dword [0x00c6cc38]
cmp eax, 5
je 0x46ffda
mov eax, dword [0x00c6cc38]
cmp eax, 0x13
je 0x46ffda
mov eax, dword [0x00c6cc38]
cmp eax, 0x21
je 0x46ffda
mov eax, dword [0x00c6cc38]
cmp eax, 0x20
jne 0x46fffc
mov rax, qword [0x00c6cda0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindClose]
call rax
mov ecx, 0x37
call fcn.0044516a
jmp 0x47007f
mov rax, qword [0x00c6cda0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindClose]
call rax
mov ecx, 0x35
call fcn.0044516a
jmp 0x47007f
mov eax, dword [0x00c6cdb8]
add eax, 1
mov dword [0x00c6cdb8], eax
mov rax, qword [0x00c6cda0]
lea rdx, [0x00c6cc60]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindNextFileA]
call rax
test eax, eax
setne al
test al, al
je 0x470052
jmp 0x46ff2e
mov rax, qword [0x00c6cda0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindClose]
call rax
mov eax, dword [0x00c6cdb8]
test eax, eax
jne 0x47007e
mov ecx, 0x35
call fcn.0044516a
jmp 0x47007f
nop
jmp 0x47007f
nop
add rsp, 0x20
pop rbp
ret