Function at 0x100013b0
Capabilities:
Check if file exists
Copy file
Enumerate files on windows
Enumerate files recursively
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x350
push ebx
push esi
push edi
push 1
pop ebx
push 0
mov dword [ebp - 4], ebx
push dword [0x100032b8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x100013de
xor eax, eax
jmp 0x10001614
cmp dword [ebp + 8], 0x100
jae 0x10001406
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x210]
push 0x10003108
push eax
call esi
mov al, byte [ebp + 8]
add byte [ebp - 0x210], al
jmp 0x10001418
push dword [ebp + 8]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x210]
push eax
call esi
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x10c]
push eax
call esi
mov edi, dword [sym.imp.SHLWAPI.dll_PathAppendA]
lea eax, [ebp - 0x210]
push 0x10003104
push eax
call edi
lea eax, [ebp - 0x350]
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [ebp - 8], eax
jne 0x1000145f
mov eax, ebx
jmp 0x10001614
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x210]
push eax
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
lea eax, [ebp - 0x324]
push 0x10003100
push eax
call ebx
test eax, eax
je 0x100015ea
lea eax, [ebp - 0x324]
push 0x100030fc
push eax
call ebx
test eax, eax
je 0x100015ea
test byte [ebp - 0x350], 0x10
je 0x100014fc
push 0x14
push dword [0x100032b8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x10001604
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x10c]
push eax
call esi
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x10c]
push eax
call edi
lea eax, [ebp - 0x10c]
push eax
call fcn.100013b0
test eax, eax
je 0x10001604
jmp 0x100015ea
lea eax, [ebp - 0x324]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionA]
test eax, eax
mov dword [ebp + 8], eax
je 0x100015d5
push 0x100030f4
push eax
call ebx
test eax, eax
jne 0x10001577
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x10c]
push eax
call esi
lea eax, [ebp - 0x10c]
push 0x100030d4
push eax
call edi
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x100015ea
lea eax, [ebp - 0x10c]
push 1
push eax
push 0x10003120
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea eax, [ebp - 0x10c]
push 7
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0x100030ec
push dword [ebp + 8]
call ebx
test eax, eax
je 0x10001593
push 0x100030e4
push dword [ebp + 8]
call ebx
test eax, eax
jne 0x100015d5
cmp dword [ebp - 0x334], 0
jne 0x100015d5
cmp dword [ebp - 0x330], 0x3200000
jae 0x100015d5
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x10c]
push eax
call esi
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x10c]
push eax
call edi
lea eax, [ebp - 0x10c]
push eax
call fcn.1000133e
pop ecx
push 0x14
push dword [0x100032b8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x10001604
lea eax, [ebp - 0x350]
push eax
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp eax, 1
jne 0x10001608
jmp 0x10001475
and dword [ebp - 4], 0
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 4