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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x66c7a8
mov eax, dword fs:[0]
push eax
sub esp, 0x31c
mov eax, dword [0x738844]
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.005d2f18
add esp, 4
test eax, eax
jne 0x641ee2
call fcn.005f1c34
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.00642af0
add esp, 4
test al, al
jne 0x641f41
xor bl, bl
jmp 0x6425ea
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 0x641f62
xor ecx, ecx
jmp 0x641f76
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x641f67
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x40]
call fcn.0043d370
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x2ec]
call fcn.00642c60
lea eax, [ebp - 0x310]
push eax
push 0
push 0
call fcn.00641570
lea eax, [ebp - 0x300]
xor edi, edi
push eax
push edi
push edi
mov dword [ebp - 0x30c], edi
call fcn.00641570
add esp, 0x18
mov dword [ebp - 0x2fc], edi
lea eax, [ebp - 0x40]
lea ecx, [ebp - 0x300]
push eax
call fcn.005322e2
cmp dword [ebp - 0x2dc], edi
sete al
test al, al
jne 0x642545
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.006426f0
mov ecx, eax
call fcn.00641910
mov edx, eax
mov eax, dword [edx]
test eax, eax
je 0x64201c
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 0x64203a
push 0xffffffffffffffff
push 0
push eax
call fcn.0043d470
push 0x6f2994
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.00531a6f
push 0x6e99a4
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 5
push eax
call fcn.004459b0
add esp, 0x18
mov esi, eax
lea eax, [ebp - 0x58]
cmp eax, esi
je 0x6420a0
mov eax, dword [ebp - 0x44]
cmp eax, 8
jb 0x642083
inc eax
lea ecx, [ebp - 0x58]
push eax
push dword [ebp - 0x58]
call fcn.0043d960
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.00445530
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 5
cmp eax, 8
jb 0x6420f7
mov ecx, dword [ebp - 0x28]
inc eax
cmp eax, 0x7fffffff
ja 0x641edd
add eax, eax
cmp eax, 0x1000
jb 0x6420ee
test cl, 0x1f
jne 0x641edd
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x641edd
sub ecx, eax
cmp ecx, 4
jb 0x641edd
cmp ecx, 0x23
ja 0x641edd
mov ecx, eax
push ecx
call fcn.00483540
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 0x642165
mov ecx, dword [ebp - 0x88]
inc eax
cmp eax, 0x7fffffff
ja 0x641edd
add eax, eax
cmp eax, 0x1000
jb 0x64215c
test cl, 0x1f
jne 0x641edd
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x641edd
sub ecx, eax
cmp ecx, 4
jb 0x641edd
cmp ecx, 0x23
ja 0x641edd
mov ecx, eax
push ecx
call fcn.00483540
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 0x6421d8
mov ecx, dword [esi]
inc eax
cmp eax, 0x7fffffff
ja 0x641edd
add eax, eax
cmp eax, 0x1000
jb 0x6421cf
test cl, 0x1f
jne 0x641edd
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x641edd
sub ecx, eax
cmp ecx, 4
jb 0x641edd
cmp ecx, 0x23
ja 0x641edd
mov ecx, eax
push ecx
call fcn.00483540
add esp, 4
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
cmp dword [esi + 0x14], 8
jb 0x6421ee
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 0x64265b
mov edx, 0x6f289c
lea ecx, [ebp - 0x2ac]
nop dword [eax]
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x642266
test ax, ax
je 0x642262
mov ax, word [ecx + 2]
cmp ax, word [edx + 2]
jne 0x642266
add ecx, 4
add edx, 4
test ax, ax
jne 0x642240
xor eax, eax
jmp 0x64226b
sbb eax, eax
or eax, 1
test eax, eax
je 0x642419
mov eax, 0x6ac398
lea ecx, [ebp - 0x2ac]
nop
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x6422a6
test dx, dx
je 0x6422a2
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x6422a6
add ecx, 4
add eax, 4
test dx, dx
jne 0x642280
xor eax, eax
jmp 0x6422ab
sbb eax, eax
or eax, 1
test eax, eax
je 0x642419
test byte [ebp - 0x2d8], 0x10
je 0x642426
push 0x6f2994
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00531a6f
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 7
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004459b0
add esp, 0x18
push eax
lea ecx, [ebp - 0x2ec]
mov byte [ebp - 4], 8
call fcn.00642bd0
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x64230f
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.0043d960
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 0x64233c
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.0043d960
push 0x6f2994
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00531a6f
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 9
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004459b0
add esp, 0x18
push eax
lea ecx, [ebp - 0x300]
mov byte [ebp - 4], 0xa
call fcn.00642d30
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x64238b
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.0043d960
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 0x6423b8
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.0043d960
push 0x6f2994
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00531a6f
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0xb
push ecx
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.004459b0
mov eax, dword [ebp - 0x5c]
add esp, 0x18
mov byte [ebp - 4], 4
cmp eax, 8
jb 0x6423fe
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.0043d960
mov eax, dword [ebp - 0x74]
cmp eax, 8
jb 0x642419
inc eax
lea ecx, [ebp - 0x88]
push eax
push dword [ebp - 0x88]
call fcn.0043d960
test byte [ebp - 0x2d8], 0x10
jne 0x64250c
push 0x6f2994
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.00531a6f
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0xc
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004459b0
add esp, 0x18
push eax
lea ecx, [ebp - 0x310]
mov byte [ebp - 4], 0xd
call fcn.00642d30
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x642478
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.0043d960
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 0x6424ab
inc eax
lea ecx, [ebp - 0x88]
push eax
push dword [ebp - 0x88]
call fcn.0043d960
push 0x6f2994
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.00531a6f
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0xe
push ecx
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.004459b0
mov eax, dword [ebp - 0x74]
add esp, 0x18
mov byte [ebp - 4], 4
cmp eax, 8
jb 0x6424f7
inc eax
lea ecx, [ebp - 0x88]
push eax
push dword [ebp - 0x88]
call fcn.0043d960
mov eax, dword [ebp - 0x5c]
cmp eax, 8
jb 0x64250c
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.0043d960
lea eax, [ebp - 0x2d8]
push eax
push esi
call edi
test eax, eax
jne 0x642232
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
cmp eax, 0x12
jne 0x64255a
call ebx
cmp dword [ebp - 0x2dc], 0
jne 0x641ff0
mov edi, dword [ebp - 0x30c]
mov esi, dword [ebp - 0x310]
cmp esi, edi
je 0x642574
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
cmp dword [esi + 0x14], 8
jb 0x642560
mov eax, dword [esi]
jmp 0x642562
call ebx
xor bl, bl
jmp 0x6425c1
mov eax, esi
push eax
call ebx
test eax, eax
je 0x64265b
add esi, 0x18
cmp esi, edi
jne 0x642550
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.00641600
add esp, 0xc
cmp esi, edi
je 0x6425bf
mov ebx, dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
cmp dword [esi + 0x14], 8
jb 0x6425ab
mov eax, dword [esi]
jmp 0x6425ad
mov eax, esi
push eax
call ebx
test eax, eax
je 0x64265b
add esi, 0x18
cmp esi, edi
jne 0x6425a1
mov bl, 1
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x6425d6
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0043d960
xor eax, eax
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
lea ecx, [ebp - 0x300]
call fcn.00461b10
lea ecx, [ebp - 0x310]
call fcn.00461b10
lea ecx, [ebp - 0x2ec]
call fcn.00641b20
push 1
push dword [ebp - 0x2ec]
lea ecx, [ebp - 0x2ed]
call fcn.00641e00
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x2ec], 0
cmp ecx, 8
jb 0x64263d
inc ecx
push ecx
push dword [ebp - 0x58]
lea ecx, [ebp - 0x58]
call fcn.0043d960
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.005d2f07
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 0x6425c1