Function at 0x47dfc4
Capabilities:
Copy file
Enumerate files on windows
Enumerate files recursively

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffc40
push ebx
xor ecx, ecx
mov dword [ebp - 0x3c0], ecx
mov dword [ebp - 0x3bc], ecx
mov dword [ebp - 0x3b4], ecx
mov dword [ebp - 0x3b8], ecx
mov dword [ebp - 0x3b0], ecx
mov dword [ebp - 0x3ac], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404ba0
mov eax, dword [ebp - 8]
call fcn.00404ba0
lea eax, [ebp - 0x168]
mov edx, dword [0x407c7c]
call fcn.004050a8
xor eax, eax
push ebp
push 0x47e25c
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x3ac]
call fcn.00409728
mov edx, dword [ebp - 0x3ac]
lea eax, [ebp - 0x268]
mov ecx, 0xff
call fcn.0040498c
mov eax, dword [ebp - 4]
call fcn.00402958
call fcn.0040291c
lea eax, [ebp - 0x3a8]
push eax
push 0x47e26c
call sub.kernel32.dll_FindFirstFileA_1
mov ebx, eax
mov dword [ebp - 0x154], ebx
cmp ebx, 0xffffffff
je 0x47e1d8
mov eax, dword [ebp - 8]
call fcn.0040941c
test al, al
jne 0x47e093
mov eax, dword [ebp - 8]
call fcn.00409440
lea eax, [ebp - 0x10]
lea edx, [ebp - 0x37c]
mov ecx, 0x104
call fcn.00404960
mov eax, dword [ebp - 0x10]
mov edx, 0x47e278
call fcn.00404afc
je 0x47e1aa
mov eax, dword [ebp - 0x10]
mov edx, 0x47e284
call fcn.00404afc
je 0x47e1aa
cmp dword [ebp - 0x3a8], 0x10
jne 0x47e179
push dword [ebp - 8]
push 0x47e290
push dword [ebp - 0x10]
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00404a70
mov eax, dword [ebp - 0xc]
call fcn.0040941c
test al, al
jne 0x47e105
mov eax, dword [ebp - 0xc]
call fcn.00409440
mov eax, dword [ebp - 4]
call fcn.004049b0
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 1], 0x5c
je 0x47e142
push dword [ebp - 4]
push 0x47e290
push dword [ebp - 0x10]
lea eax, [ebp - 0x3b0]
mov edx, 3
call fcn.00404a70
mov eax, dword [ebp - 0x3b0]
mov edx, dword [ebp - 0xc]
call fcn.0047dfc4
jmp 0x47e1aa
lea eax, [ebp - 0x3b4]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
call fcn.004049fc
mov eax, dword [ebp - 0x3b4]
push eax
lea eax, [ebp - 0x3b8]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
call fcn.004049fc
mov eax, dword [ebp - 0x3b8]
pop edx
call fcn.0047dfc4
jmp 0x47e1aa
push dword [ebp - 8]
push 0x47e290
push dword [ebp - 0x10]
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00404a70
push 0
mov eax, dword [ebp - 0xc]
call fcn.00404bb0
push eax
mov eax, dword [ebp - 0x10]
call fcn.00404bb0
push eax
call sub.kernel32.dll_CopyFileA
lea eax, [ebp - 0x3a8]
push eax
mov eax, dword [ebp - 0x154]
push eax
call sub.kernel32.dll_FindNextFileA
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x47e093
lea eax, [ebp - 0x168]
call fcn.00409528
jmp 0x47e1fd
lea eax, [ebp - 0x3bc]
lea edx, [ebp - 0x268]
call fcn.00404954
mov eax, dword [ebp - 0x3bc]
call fcn.00402958
call fcn.0040291c
xor ebx, ebx
jmp 0x47e220
lea eax, [ebp - 0x3c0]
lea edx, [ebp - 0x268]
call fcn.00404954
mov eax, dword [ebp - 0x3c0]
call fcn.00402958
call fcn.0040291c
mov bl, 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47e263
lea eax, [ebp - 0x3c0]
mov edx, 6
call fcn.00404714
lea eax, [ebp - 0x168]
mov edx, dword [0x407c7c]
call fcn.00405178
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.00404714
ret