Function at 0x666840
Capabilities:
Delete directory
Delete file
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x69b848
mov eax, dword fs:[0]
push eax
sub esp, 0x31c
mov eax, dword [0x780784]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x2f4], eax
xor eax, eax
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x48], 0
mov word [ebp - 0x58], ax
push 8
mov dword [ebp - 4], eax
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2dc], eax
call fcn.0060c962
add esp, 4
test eax, eax
jne 0x6668c2
call fcn.0061883f
mov dword [ebp - 0x2ec], eax
lea ecx, [ebp - 0x2ec]
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x2ec]
mov dword [eax], ecx
xor esi, esi
mov dword [ebp - 0x310], esi
mov dword [ebp - 0x30c], esi
mov dword [ebp - 0x308], esi
mov dword [ebp - 0x300], esi
mov dword [ebp - 0x2fc], esi
mov dword [ebp - 0x2f8], esi
push edi
mov byte [ebp - 4], 3
call fcn.006674d0
add esp, 4
test al, al
jne 0x666921
xor bl, bl
jmp 0x666fca
xor eax, eax
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
mov byte [ebp - 4], 4
cmp word [edi], ax
jne 0x666942
xor ecx, ecx
jmp 0x666956
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x666947
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x40]
call fcn.00468970
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x2ec]
call fcn.00667640
lea eax, [ebp - 0x310]
push eax
push 0
push 0
call fcn.00665f50
lea eax, [ebp - 0x300]
xor edi, edi
push eax
push edi
push edi
mov dword [ebp - 0x30c], edi
call fcn.00665f50
add esp, 0x18
mov dword [ebp - 0x2fc], edi
lea eax, [ebp - 0x40]
lea ecx, [ebp - 0x300]
push eax
call fcn.005abd61
cmp dword [ebp - 0x2dc], edi
sete al
test al, al
jne 0x666f25
mov edi, dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov ebx, dword [sym.imp.KERNEL32.dll_FindClose]
nop word [eax + eax]
push 1
lea eax, [ebp - 0x31c]
push eax
lea eax, [ebp - 0x328]
push eax
lea ecx, [ebp - 0x2ec]
call fcn.006670d0
mov ecx, eax
call fcn.006662f0
mov edx, eax
mov eax, dword [edx]
test eax, eax
je 0x6669fc
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, dword [edx + 8]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x40]
cmp ecx, eax
je 0x666a1a
push 0xffffffffffffffff
push 0
push eax
call fcn.00468a70
push 0x6f5da8
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.005ab53f
push 0x718e4c
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 5
push eax
call fcn.004711a0
add esp, 0x18
mov esi, eax
lea eax, [ebp - 0x58]
cmp eax, esi
je 0x666a80
mov eax, dword [ebp - 0x44]
cmp eax, 8
jb 0x666a63
inc eax
lea ecx, [ebp - 0x58]
push eax
push dword [ebp - 0x58]
call fcn.00468f60
xor eax, eax
mov dword [ebp - 0x44], 7
push esi
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x48], 0
mov word [ebp - 0x58], ax
call fcn.00470ca0
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 5
cmp eax, 8
jb 0x666ad7
mov ecx, dword [ebp - 0x28]
inc eax
cmp eax, 0x7fffffff
ja 0x6668bd
add eax, eax
cmp eax, 0x1000
jb 0x666ace
test cl, 0x1f
jne 0x6668bd
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x6668bd
sub ecx, eax
cmp ecx, 4
jb 0x6668bd
cmp ecx, 0x23
ja 0x6668bd
mov ecx, eax
push ecx
call fcn.004d1ee0
add esp, 4
xor eax, eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 4
cmp eax, 8
jb 0x666b45
mov ecx, dword [ebp - 0x88]
inc eax
cmp eax, 0x7fffffff
ja 0x6668bd
add eax, eax
cmp eax, 0x1000
jb 0x666b3c
test cl, 0x1f
jne 0x6668bd
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x6668bd
sub ecx, eax
cmp ecx, 4
jb 0x6668bd
cmp ecx, 0x23
ja 0x6668bd
mov ecx, eax
push ecx
call fcn.004d1ee0
add esp, 4
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2dc]
dec eax
mov edx, dword [ebp - 0x2e4]
add ecx, eax
mov eax, dword [ebp - 0x2e8]
dec edx
and edx, ecx
mov esi, dword [eax + edx*4]
mov eax, dword [esi + 0x14]
cmp eax, 8
jb 0x666bb8
mov ecx, dword [esi]
inc eax
cmp eax, 0x7fffffff
ja 0x6668bd
add eax, eax
cmp eax, 0x1000
jb 0x666baf
test cl, 0x1f
jne 0x6668bd
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x6668bd
sub ecx, eax
cmp ecx, 4
jb 0x6668bd
cmp ecx, 0x23
ja 0x6668bd
mov ecx, eax
push ecx
call fcn.004d1ee0
add esp, 4
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
cmp dword [esi + 0x14], 8
jb 0x666bce
mov esi, dword [esi]
xor eax, eax
mov ecx, 0
mov word [esi], ax
sub dword [ebp - 0x2dc], 1
mov eax, dword [ebp - 0x2e0]
cmove eax, ecx
cmp dword [ebp - 0x44], 8
mov dword [ebp - 0x2e0], eax
lea ecx, [ebp - 0x2d8]
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x66703b
mov edx, 0x71ebf8
lea ecx, [ebp - 0x2ac]
nop dword [eax]
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x666c46
test ax, ax
je 0x666c42
mov ax, word [ecx + 2]
cmp ax, word [edx + 2]
jne 0x666c46
add ecx, 4
add edx, 4
test ax, ax
jne 0x666c20
xor eax, eax
jmp 0x666c4b
sbb eax, eax
or eax, 1
test eax, eax
je 0x666df9
mov eax, 0x6f5da0
lea ecx, [ebp - 0x2ac]
nop
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x666c86
test dx, dx
je 0x666c82
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x666c86
add ecx, 4
add eax, 4
test dx, dx
jne 0x666c60
xor eax, eax
jmp 0x666c8b
sbb eax, eax
or eax, 1
test eax, eax
je 0x666df9
test byte [ebp - 0x2d8], 0x10
je 0x666e06
push 0x6f5da8
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.005ab53f
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 7
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004711a0
add esp, 0x18
push eax
lea ecx, [ebp - 0x2ec]
mov byte [ebp - 4], 8
call fcn.006675b0
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x666cef
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00468f60
xor eax, eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 4
cmp eax, 8
jb 0x666d1c
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.00468f60
push 0x6f5da8
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.005ab53f
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 9
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004711a0
add esp, 0x18
push eax
lea ecx, [ebp - 0x300]
mov byte [ebp - 4], 0xa
call fcn.00667710
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x666d6b
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00468f60
xor eax, eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 4
cmp eax, 8
jb 0x666d98
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.00468f60
push 0x6f5da8
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.005ab53f
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0xb
push ecx
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.004711a0
mov eax, dword [ebp - 0x5c]
add esp, 0x18
mov byte [ebp - 4], 4
cmp eax, 8
jb 0x666dde
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.00468f60
mov eax, dword [ebp - 0x74]
cmp eax, 8
jb 0x666df9
inc eax
lea ecx, [ebp - 0x88]
push eax
push dword [ebp - 0x88]
call fcn.00468f60
test byte [ebp - 0x2d8], 0x10
jne 0x666eec
push 0x6f5da8
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.005ab53f
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0xc
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004711a0
add esp, 0x18
push eax
lea ecx, [ebp - 0x310]
mov byte [ebp - 4], 0xd
call fcn.00667710
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x666e58
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00468f60
xor eax, eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 4
cmp eax, 8
jb 0x666e8b
inc eax
lea ecx, [ebp - 0x88]
push eax
push dword [ebp - 0x88]
call fcn.00468f60
push 0x6f5da8
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.005ab53f
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0xe
push ecx
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.004711a0
mov eax, dword [ebp - 0x74]
add esp, 0x18
mov byte [ebp - 4], 4
cmp eax, 8
jb 0x666ed7
inc eax
lea ecx, [ebp - 0x88]
push eax
push dword [ebp - 0x88]
call fcn.00468f60
mov eax, dword [ebp - 0x5c]
cmp eax, 8
jb 0x666eec
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.00468f60
lea eax, [ebp - 0x2d8]
push eax
push esi
call edi
test eax, eax
jne 0x666c12
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
cmp eax, 0x12
jne 0x666f3a
call ebx
cmp dword [ebp - 0x2dc], 0
jne 0x6669d0
mov edi, dword [ebp - 0x30c]
mov esi, dword [ebp - 0x310]
cmp esi, edi
je 0x666f54
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
cmp dword [esi + 0x14], 8
jb 0x666f40
mov eax, dword [esi]
jmp 0x666f42
call ebx
xor bl, bl
jmp 0x666fa1
mov eax, esi
push eax
call ebx
test eax, eax
je 0x66703b
add esi, 0x18
cmp esi, edi
jne 0x666f30
mov edi, dword [ebp - 0x2fc]
mov esi, dword [ebp - 0x300]
mov byte [ebp - 0x304], 0
push dword [ebp - 0x304]
push edi
push esi
call fcn.00665fe0
add esp, 0xc
cmp esi, edi
je 0x666f9f
mov ebx, dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
cmp dword [esi + 0x14], 8
jb 0x666f8b
mov eax, dword [esi]
jmp 0x666f8d
mov eax, esi
push eax
call ebx
test eax, eax
je 0x66703b
add esi, 0x18
cmp esi, edi
jne 0x666f81
mov bl, 1
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x666fb6
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00468f60
xor eax, eax
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
lea ecx, [ebp - 0x300]
call fcn.004774c0
lea ecx, [ebp - 0x310]
call fcn.004774c0
lea ecx, [ebp - 0x2ec]
call fcn.00666500
push 1
push dword [ebp - 0x2ec]
lea ecx, [ebp - 0x2ed]
call fcn.006667e0
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x2ec], 0
cmp ecx, 8
jb 0x66701d
inc ecx
push ecx
push dword [ebp - 0x58]
lea ecx, [ebp - 0x58]
call fcn.00468f60
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0060cdfa
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x2f4]
xor bl, bl
mov dword [ecx], eax
jmp 0x666fa1