Function at 0x100374a0
Capabilities:
Delete directory
Delete file
Enumerate files on windows
Enumerate files recursively
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10074e90
mov eax, dword fs:[0]
push eax
sub esp, 0x1b8
mov eax, dword [0x1044a964]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
xor al, al
mov dword [ebp - 0x28], 0
mov byte [ebp - 0x181], al
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], al
mov dword [ebp - 0x40], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], al
push 0x10079508
lea eax, [ebp - 0x1a8]
mov byte [ebp - 4], 1
push edi
push eax
call fcn.100347a0
add esp, 0xc
lea ecx, [ebp - 0x40]
push eax
call fcn.1000b890
mov edx, dword [ebp - 0x194]
cmp edx, 0x10
jb 0x1003756b
mov ecx, dword [ebp - 0x1a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10037561
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100378e7
push edx
push ecx
call fcn.1004cb1a
add esp, 8
cmp dword [ebp - 0x2c], 0x10
lea ecx, [ebp - 0x180]
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ecx, eax
mov dword [ebp - 0x188], ecx
cmp ecx, 0xffffffff
je 0x10037856
mov esi, eax
cmp byte [ebp - 0x154], 0x2e
mov edx, 0x16
je 0x100377e1
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
mov dword [ebp - 0x18], 0
cmovae eax, dword [ebp - 0x28]
mov byte [eax], 0
mov eax, SysReAllocString
mov ecx, dword [edi + 0x10]
sub eax, ecx
mov dword [ebp - 0x1b0], ecx
cmp eax, 1
jb 0x100378ec
cmp dword [edi + 0x14], 0x10
mov dword [ebp - 0x18c], edi
jb 0x100375eb
mov eax, dword [edi]
mov dword [ebp - 0x18c], eax
inc ecx
mov dword [ebp - 0x1a8], 0
mov esi, 0xf
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0
lea eax, [ebp - 0x1a8]
mov dword [ebp - 0x1ac], ecx
mov dword [ebp - 0x190], eax
cmp ecx, esi
jbe 0x1003766b
mov esi, ecx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x10037639
mov esi, SysReAllocString
jmp 0x1003763f
cmp esi, 0x16
cmovb esi, edx
xor ecx, ecx
mov eax, esi
add eax, 1
setb cl
neg ecx
or ecx, eax
push ecx
lea ecx, [ebp - 0x1a8]
call fcn.10004fe0
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x194], esi
mov esi, dword [ebp - 0x1b0]
push esi
push dword [ebp - 0x18c]
mov dword [ebp - 0x198], ecx
push eax
call fcn.1004eb90
mov eax, dword [ebp - 0x190]
add esp, 0xc
mov word [eax + esi], 0x5c
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 2
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100376a6
sub ecx, edx
lea eax, [ebp - 0x154]
push ecx
push eax
lea ecx, [ebp - 0x1a8]
call fcn.1000b710
movups xmm0, xmmword [eax]
movq xmm1, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [ebp - 0x14]
movq qword [ebp - 0x1b4], xmm1
movups xmmword [ebp - 0x1c4], xmm0
cmp edx, 0x10
jb 0x1003772d
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10037714
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100378e7
push edx
push ecx
call fcn.1004cb1a
movups xmm0, xmmword [ebp - 0x1c4]
add esp, 8
movq xmm1, qword [ebp - 0x1b4]
mov edx, dword [ebp - 0x194]
movq qword [ebp - 0x18], xmm1
mov byte [ebp - 4], 1
movups xmmword [ebp - 0x28], xmm0
cmp edx, 0x10
jb 0x10037774
mov ecx, dword [ebp - 0x1a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003776a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100378e7
push edx
push ecx
call fcn.1004cb1a
add esp, 8
test byte [ebp - 0x180], 0x10
je 0x100377a6
mov eax, dword [ebp + 0xc]
test al, al
je 0x1003779d
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.100374a0
mov esi, eax
add esp, 8
test esi, esi
jne 0x10037858
jmp 0x100377db
mov byte [ebp - 0x181], 1
jmp 0x100377db
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
push 0x80
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
je 0x1003784c
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
je 0x1003784c
mov esi, dword [ebp - 0x188]
lea eax, [ebp - 0x180]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp eax, 1
je 0x10037597
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, 0x12
jne 0x10037858
cmp byte [ebp - 0x181], 0
jne 0x10037856
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x1003781f
mov eax, dword [edi]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
jne 0x10037839
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x10037858
cmp dword [edi + 0x14], 0x10
jb 0x10037841
mov edi, dword [edi]
push edi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
jne 0x10037856
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x10037858
xor esi, esi
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x10037888
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003787e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100378f1
push edx
push ecx
call fcn.1004cb1a
add esp, 8
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x100378ca
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100378c0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100378f1
push edx
push ecx
call fcn.1004cb1a
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1004ce42
mov esp, ebp
pop ebp
ret
call fcn.10051faf
call fcn.10004fc0
call fcn.10051faf
int3