Function at 0x411500
Capabilities:
Copy file
Create directory
Enumerate files on windows
Enumerate files recursively
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4430c7
mov eax, dword fs:[0]
push eax
sub esp, 0x330
mov eax, dword [0x4513a8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 1
push 0
lea ecx, [ebp + 0x24]
call fcn.0040a370
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov eax, dword [0x44ce20]
push eax
push 0x5c
lea ecx, [ebp + 8]
call fcn.0040a450
mov esi, eax
lea ecx, [ebp + 8]
call fcn.0040a390
cmp esi, eax
je 0x411571
push 0x4487b4
lea ecx, [ebp + 8]
call fcn.0040a350
mov ecx, dword [0x44ce20]
push ecx
push 0x5c
lea ecx, [ebp + 0x24]
call fcn.0040a450
mov esi, eax
lea ecx, [ebp + 0x24]
call fcn.0040a390
cmp esi, eax
je 0x41159d
push 0x4487b8
lea ecx, [ebp + 0x24]
call fcn.0040a350
push 0x4487bc
lea edx, [ebp + 8]
push edx
lea eax, [ebp - 0x48]
push eax
call fcn.0040b570
add esp, 0xc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2b8]
call fcn.0040a210
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2c]
call fcn.0040a210
mov byte [ebp - 4], 4
mov dword [ebp - 0x29c], 0
push 0x24c
push 0
lea ecx, [ebp - 0x298]
push ecx
call fcn.00421260
add esp, 0xc
lea edx, [ebp - 0x29c]
push edx
lea ecx, [ebp - 0x48]
call fcn.0040a370
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0xffffffff
je 0x411805
lea eax, [ebp - 0x270]
push eax
push 0x4487c0
call fcn.00421355
add esp, 8
test eax, eax
je 0x411791
lea ecx, [ebp - 0x270]
push ecx
push 0x4487c4
call fcn.00421355
add esp, 8
test eax, eax
je 0x411791
lea edx, [ebp - 0x270]
push edx
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x2d8]
push ecx
call fcn.0040b570
add esp, 0xc
mov dword [ebp - 0x31c], eax
mov edx, dword [ebp - 0x31c]
mov dword [ebp - 0x320], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x320]
push eax
lea ecx, [ebp - 0x2b8]
call fcn.0040a2f0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2d8]
call fcn.0040a2d0
lea ecx, [ebp - 0x270]
push ecx
lea edx, [ebp + 0x24]
push edx
lea eax, [ebp - 0x2f4]
push eax
call fcn.0040b570
add esp, 0xc
mov dword [ebp - 0x324], eax
mov ecx, dword [ebp - 0x324]
mov dword [ebp - 0x328], ecx
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x328]
push edx
lea ecx, [ebp - 0x2c]
call fcn.0040a2f0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2f4]
call fcn.0040a2d0
lea ecx, [ebp - 0x2b8]
call fcn.0040a370
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2bc]
and eax, 0x10
je 0x411774
push 0
lea ecx, [ebp - 0x2c]
call fcn.0040a370
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2f8], esp
lea edx, [ebp - 0x2c]
push edx
call fcn.0040a240
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 0x330], eax
mov byte [ebp - 4], 7
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2fc], esp
lea edx, [ebp - 0x2b8]
push edx
call fcn.0040a240
mov dword [ebp - 0x334], eax
mov byte [ebp - 4], 4
call fcn.00411500
add esp, 0x38
jmp 0x411791
push 0
lea ecx, [ebp - 0x2c]
call fcn.0040a370
push eax
lea ecx, [ebp - 0x2b8]
call fcn.0040a370
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebp - 0x29c]
push eax
mov ecx, dword [ebp - 0x4c]
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x411614
lea ecx, [ebp + 8]
call fcn.0040a390
sub eax, 1
push eax
push 0
lea edx, [ebp - 0x318]
push edx
lea ecx, [ebp + 8]
call fcn.0040a470
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x33c], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x33c]
push ecx
lea ecx, [ebp + 8]
call fcn.0040a2f0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x318]
call fcn.0040a2d0
mov edx, dword [ebp - 0x4c]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2c]
call fcn.0040a2d0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2b8]
call fcn.0040a2d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x48]
call fcn.0040a2d0
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.0040a2d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x24]
call fcn.0040a2d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004208a1
mov esp, ebp
pop ebp
ret