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

Disassembly:
sub esp, 0x744
push ebx
push ebp
push esi
mov esi, dword [esp + 0x754]
test esi, esi
push edi
je 0x41e411
or ecx, 0xffffffff
xor eax, eax
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x1ff
jle 0x41e411
mov eax, dword [str.gen_fs.c]
push 0x3e3
push eax
push str._int_STRLEN_path____int___int_sizeof_path2__1_
call fcn.0041cad0
add esp, 0xc
push 0x1ff
lea ecx, [esp + 0x18]
push esi
push ecx
call fcn.00419840
lea edx, [esp + 0x20]
push edx
call fcn.0042f660
mov esi, eax
add esp, 0x10
test esi, esi
je 0x41e43b
push 0x3e6
jmp 0x41e458
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x18]
push edx
call fcn.0042f390
mov esi, eax
add esp, 8
test esi, esi
je 0x41e473
push 0x3ea
mov eax, dword [str.gen_fs.c]
push eax
call fcn.0041cc10
add esp, 8
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x744
ret
cmp dword [esp + 0x10], 0xffffffff
jne 0x41e4c3
mov ecx, dword [str.gen_fs.c]
push 0x3ef
push ecx
push 0x487e80
call fcn.0041cad0
mov edx, dword [str.gen_fs.c]
push 0x3ef
push edx
push 0x487ea0
call fcn.0041cb50
lea eax, [esp + 0x2c]
push eax
call fcn.0041fe30
add esp, 0x1c
pop edi
pop esi
pop ebp
mov eax, 0x7d4
pop ebx
add esp, 0x744
ret
lea ecx, [esp + 0x14]
push ecx
call fcn.0041db00
add esp, 4
cmp eax, 1
jne 0x41e519
lea edx, [esp + 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x41e901
push 0x3f4
push 0x487ea8
push str.DeleteFile
call fcn.0041cbb0
lea eax, [esp + 0x20]
push eax
call fcn.0041fe30
add esp, 0x10
pop edi
pop esi
pop ebp
mov eax, 0x7dc
pop ebx
add esp, 0x744
ret
lea ecx, [esp + 0x14]
test ecx, ecx
je 0x41e550
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0x14]
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x1ff
jle 0x41e550
mov edx, dword [str.gen_fs.c]
push 0x3fc
push edx
push str._int_STRLEN_path2____int___int_sizeof_new_path__1_
call fcn.0041cad0
add esp, 0xc
push 0x1ff
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x55c]
push ecx
call fcn.00419840
lea edx, [esp + 0x560]
add esp, 0xc
test edx, edx
je 0x41e588
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0x554]
repne scasb al, byte es:[edi]
not ecx
dec ecx
jmp 0x41e58a
xor ecx, ecx
mov eax, 0x487efc
neg eax
sbb eax, eax
mov edx, 0x1ff
neg eax
sub edx, ecx
cmp eax, edx
jle 0x41e5b8
mov eax, dword [str.gen_fs.c]
push 0x3fd
push eax
push 0x487f00
call fcn.0041cad0
add esp, 0xc
push 0x1ff
lea ecx, [esp + 0x558]
push 0x487f40
push ecx
call fcn.004198d0
lea edx, [esp + 0x560]
add esp, 0xc
test edx, edx
je 0x41e5f0
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0x554]
repne scasb al, byte es:[edi]
not ecx
dec ecx
jmp 0x41e5f2
xor ecx, ecx
mov eax, 0x487f44
neg eax
sbb eax, eax
mov edx, 0x1ff
neg eax
sub edx, ecx
cmp eax, edx
jle 0x41e620
mov eax, dword [str.gen_fs.c]
push 0x3fe
push eax
push str._int_STRLEN________int____int_sizeof_new_path__1________len_
call fcn.0041cad0
add esp, 0xc
push 0x1ff
lea ecx, [esp + 0x558]
push 0x487f88
push ecx
call fcn.004198d0
add esp, 0xc
mov esi, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
lea edx, [esp + 0x214]
push edx
lea eax, [esp + 0x558]
push eax
xor bl, bl
call esi
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x41e678
lea ecx, [esp + 0x214]
push ecx
lea edx, [esp + 0x558]
push edx
call esi
mov ebp, eax
cmp ebp, 0xffffffff
je 0x41e85a
lea eax, [esp + 0x240]
push 0x487fd0
push eax
call fcn.00419ed0
add esp, 8
test eax, eax
je 0x41e816
lea ecx, [esp + 0x240]
push 0x487fd4
push ecx
call fcn.00419ed0
add esp, 8
test eax, eax
je 0x41e816
lea edx, [esp + 0x14]
test edx, edx
je 0x41e6e8
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0x14]
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x1ff
jle 0x41e6e8
mov eax, dword [str.gen_fs.c]
push 0x411
push eax
push str._int_STRLEN_path2____int___int_sizeof_new_path2__1_
call fcn.0041cad0
add esp, 0xc
push 0x1ff
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x35c]
push edx
call fcn.00419840
lea eax, [esp + 0x360]
add esp, 0xc
test eax, eax
je 0x41e720
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0x354]
repne scasb al, byte es:[edi]
not ecx
dec ecx
jmp 0x41e722
xor ecx, ecx
mov edx, 0x488010
neg edx
sbb edx, edx
mov eax, 0x1ff
neg edx
sub eax, ecx
cmp edx, eax
jle 0x41e751
mov ecx, dword [str.gen_fs.c]
push 0x412
push ecx
push str._int_STRLEN_________int____int_sizeof_new_path2__1________len_
call fcn.0041cad0
add esp, 0xc
push 0x1ff
lea edx, [esp + 0x358]
push 0x488054
push edx
call fcn.004198d0
lea eax, [esp + 0x360]
add esp, 0xc
test eax, eax
je 0x41e78b
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0x354]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, ecx
jmp 0x41e78d
xor edx, edx
lea ecx, [esp + 0x240]
test ecx, ecx
je 0x41e7ab
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0x240]
repne scasb al, byte es:[edi]
not ecx
dec ecx
jmp 0x41e7ad
xor ecx, ecx
mov eax, 0x1ff
sub eax, edx
cmp ecx, eax
jle 0x41e7d1
mov ecx, dword [str.gen_fs.c]
push 0x413
push ecx
push str._int_STRLEN_leaf_____int____int_sizeof_new_path2__1________len_
call fcn.0041cad0
add esp, 0xc
push 0x1ff
lea edx, [esp + 0x244]
push edx
lea eax, [esp + 0x35c]
push eax
call fcn.004198d0
lea ecx, [esp + 0x360]
push ecx
call fcn.0041db00
add esp, 0x10
cmp eax, 1
jne 0x41e82e
lea edx, [esp + 0x354]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
je 0x41e8c0
lea eax, [esp + 0x214]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x41e84a
jmp 0x41e678
lea ecx, [esp + 0x354]
push ecx
call fcn.0041e3d0
mov esi, eax
add esp, 4
test esi, esi
jne 0x41e8e0
mov bl, 1
push ebp
call dword [sym.imp.KERNEL32.dll_FindClose]
test bl, bl
je 0x41e894
jmp 0x41e63a
mov edx, dword [str.gen_fs.c]
push 0x40b
push edx
push str.fHandle___INVALID_HANDLE_VALUE
call fcn.0041cad0
push 0x40b
push str.G:_s90_gen_gen_fs.c
push str.FindFirstFile
call fcn.0041cbb0
lea eax, [esp + 0x56c]
push eax
call fcn.0041fe30
add esp, 0x1c
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
jne 0x41e901
lea ecx, [esp + 0x14]
push ecx
call fcn.0041fe30
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 0x7dd
pop ebx
add esp, 0x744
ret
lea ecx, [esp + 0x354]
push ecx
call fcn.0041fe30
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 0x7dc
pop ebx
add esp, 0x744
ret
mov edx, dword [str.gen_fs.c]
push 0x41e
push edx
call fcn.0041cc10
add esp, 8
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x744
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x744
ret