Function at 0x100c6ed0
Capabilities:
Delete directory
Delete file
Enumerate files on windows
Enumerate files recursively
Get common file path
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x660
mov eax, dword [0x1035dd3c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x310]
push 0x104
push 0
push eax
call fcn.102629f0
lea edx, [ebp - 0x310]
add esp, 0xc
mov ecx, edi
sub edx, edi
nop dword [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x100c6f10
mov ebx, dword [sym.imp.SHLWAPI.dll_PathAppendA]
lea eax, [ebp - 0x310]
push 0x1029bdb8
push eax
call ebx
lea eax, [ebp - 0x658]
push eax
lea eax, [ebp - 0x310]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x660], eax
cmp eax, 0xffffffff
jne 0x100c6f62
pop edi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.102601ec
mov esp, ebp
pop ebp
ret
push esi
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileExA]
mov byte [ebp - 0x659], 1
mov ecx, 0x1029b7b4
lea eax, [ebp - 0x62c]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c6fa0
test dl, dl
je 0x100c6f9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c6fa0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c6f80
xor eax, eax
jmp 0x100c6fa5
sbb eax, eax
or eax, 1
test eax, eax
je 0x100c7137
mov ecx, 0x1029bdbc
lea eax, [ebp - 0x62c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c6fd8
test dl, dl
je 0x100c6fd4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c6fd8
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c6fb8
xor eax, eax
jmp 0x100c6fdd
sbb eax, eax
or eax, 1
test eax, eax
je 0x100c7137
push 0x104
lea eax, [ebp - 0x108]
push 0
push eax
call fcn.102629f0
lea edx, [ebp - 0x108]
add esp, 0xc
mov ecx, edi
sub edx, edi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x100c7005
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp - 0x108]
push eax
call ebx
test byte [ebp - 0x658], 0x10
je 0x100c7045
lea eax, [ebp - 0x108]
push eax
call fcn.100c6ed0
add esp, 4
mov byte [ebp - 0x659], al
jmp 0x100c7137
push 0x104
lea eax, [ebp - 0x518]
push 0
push eax
call fcn.102629f0
add esp, 0xc
lea eax, [ebp - 0x518]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push 0x104
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.102629f0
add esp, 0xc
xor ecx, ecx
mov al, byte [ebp + ecx - 0x518]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x20d], al
test al, al
jne 0x100c7085
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp - 0x20c]
push eax
call ebx
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
je 0x100c70db
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x100c7137
lea eax, [ebp - 0x20c]
jmp 0x100c7130
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x414]
push 0x104
push eax
call fcn.1026c608
push 0x1029bdc0
lea eax, [ebp - 0x414]
push 0x104
push eax
call fcn.1026c662
add esp, 0x18
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
lea eax, [ebp - 0x414]
jne 0x100c7130
lea eax, [ebp - 0x108]
push 4
push 0
push eax
call esi
lea eax, [ebp - 0x658]
push eax
push dword [ebp - 0x660]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x100c6f70
push dword [ebp - 0x660]
call dword [sym.imp.KERNEL32.dll_FindClose]
push edi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov ecx, dword [ebp - 4]
mov al, byte [ebp - 0x659]
xor ecx, ebp
pop esi
pop edi
pop ebx
call fcn.102601ec
mov esp, ebp
pop ebp
ret