Function at 0x100183f1
Capabilities:
Delete directory
Enumerate files on windows
Enumerate files recursively
Get file attributes
Set current directory
Set file attributes

Disassembly:
push 0x2d0
mov eax, 0x10086384
call fcn.1006cda6
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x2c0]
push eax
call fcn.100114f6
xor edi, edi
push 7
mov dword [ebp - 4], edi
pop eax
xor ecx, ecx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], edi
mov word [ebp - 0x64], cx
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x1c], edi
mov word [ebp - 0x2c], ax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x2c0]
mov eax, dword [eax - 0xc]
inc eax
push eax
lea esi, [ebp - 0x2c0]
call fcn.100113e2
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
mov eax, dword [ebp - 0x2c0]
push dword [eax - 8]
push eax
call fcn.1006bb91
pop ecx
pop ecx
mov edx, esi
call fcn.10011423
mov eax, dword [ebp - 0x2c0]
cmp dword [eax - 4], 1
jle 0x10018486
push dword [eax - 0xc]
mov eax, esi
push eax
call fcn.10011309
mov eax, dword [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.1000164e
push dword [ebp - 0x2c0]
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x100184ce
mov bl, 1
push edi
push 1
lea esi, [ebp - 0x30]
call fcn.10001673
push edi
push 1
lea esi, [ebp - 0x68]
call fcn.10001673
mov eax, dword [ebp - 0x2c0]
add eax, 0xfffffff0
call fcn.100112f1
mov al, bl
call fcn.1006ce29
ret
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x100184da
lea eax, [ebp - 0x2c]
push edi
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsSystemFolderW]
test eax, eax
je 0x100184ea
xor bl, bl
jmp 0x100184a2
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x68]
call fcn.10001810
push 0x1009411c
lea eax, [ebp - 0x68]
push eax
call fcn.10010135
push 0x24c
lea eax, [ebp - 0x2b8]
push edi
push eax
mov dword [ebp - 0x2bc], edi
call fcn.1006c610
mov eax, dword [ebp - 0x64]
add esp, 0xc
cmp dword [ebp - 0x50], 8
jae 0x1001852d
lea eax, [ebp - 0x64]
lea ecx, [ebp - 0x2bc]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x2c4], eax
cmp eax, 0xffffffff
je 0x100184e6
lea eax, [ebp - 0x2dc]
push eax
call fcn.10063468
push 4
mov byte [ebp - 4], 3
pop ebx
mov ecx, 0x1008b5d8
lea eax, [ebp - 0x290]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10018588
cmp dx, di
je 0x10018584
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10018588
add eax, ebx
add ecx, ebx
cmp dx, di
jne 0x10018564
xor eax, eax
jmp 0x1001858d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x10018656
mov ecx, 0x10094108
lea eax, [ebp - 0x290]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x100185c4
cmp dx, di
je 0x100185c0
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x100185c4
add eax, ebx
add ecx, ebx
cmp dx, di
jne 0x100185a0
xor eax, eax
jmp 0x100185c9
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x10018656
lea eax, [ebp - 0x30]
push eax
lea esi, [ebp - 0x4c]
call fcn.10010111
lea eax, [ebp - 0x290]
push eax
mov eax, esi
push eax
mov byte [ebp - 4], bl
call fcn.10010135
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x100185fb
lea eax, [ebp - 0x48]
mov ecx, dword [ebp - 0x2bc]
and ecx, 0xfffffffe
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test byte [ebp - 0x2bc], 0x10
lea eax, [ebp - 0x4c]
je 0x10018634
push 0x1008bf40
push eax
call fcn.10010135
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x2dc]
call fcn.10012564
jmp 0x10018647
call fcn.100181a9
test eax, eax
jne 0x10018647
lea edi, [ebp - 0x4c]
call fcn.10018149
xor edi, edi
push edi
push 1
lea esi, [ebp - 0x4c]
mov byte [ebp - 4], 3
call fcn.10001673
lea eax, [ebp - 0x2bc]
push eax
push dword [ebp - 0x2c4]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x10018559
mov eax, dword [ebp - 0x2cc]
sub eax, dword [ebp - 0x2d0]
push 0x1c
cdq
pop ecx
idiv ecx
xor ebx, ebx
cmp eax, edi
jbe 0x100186fa
xor esi, esi
cmp ebx, eax
jb 0x10018694
call fcn.1006a565
mov eax, dword [ebp - 0x2d0]
add eax, esi
cmp dword [eax + 0x18], 8
jb 0x100186a7
mov eax, dword [eax + 4]
jmp 0x100186aa
add eax, 4
push eax
call fcn.100183f1
pop ecx
test al, al
jne 0x100186e0
mov eax, dword [ebp - 0x2cc]
sub eax, dword [ebp - 0x2d0]
push 0x1c
cdq
pop ecx
idiv ecx
cmp ebx, eax
jb 0x100186d0
call fcn.1006a565
mov eax, dword [ebp - 0x2d0]
lea edi, [esi + eax]
call fcn.10018149
xor edi, edi
mov eax, dword [ebp - 0x2cc]
sub eax, dword [ebp - 0x2d0]
push 0x1c
cdq
pop ecx
idiv ecx
inc ebx
add esi, 0x1c
cmp ebx, eax
jb 0x10018694
lea eax, [ebp - 0x2dc]
call fcn.100125cb
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
je 0x10018720
lea esi, [ebp - 0x2dc]
call fcn.100102bb
jmp 0x100184e6
push dword [ebp - 0x2c4]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x10018738
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp dword [ebp - 0x18], 8
mov ecx, dword [ebp - 0x2c]
jae 0x1001874b
lea ecx, [ebp - 0x2c]
and eax, 0xfffffffe
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 0x1008bf40
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x1001876d
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x10018794
lea edi, [ebp - 0x30]
call fcn.10018149
lea esi, [ebp - 0x2dc]
call fcn.100102bb
xor bl, bl
xor edi, edi
jmp 0x100184a2
lea esi, [ebp - 0x2dc]
call fcn.100102bb
jmp 0x100184a0