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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd90
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x270], ebx
mov dword [ebp - 0x26c], ebx
mov dword [ebp - 0x268], ebx
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x25c], ebx
mov dword [ebp - 0x260], ebx
mov dword [ebp - 0x258], ebx
mov dword [ebp - 0x254], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov edi, eax
mov eax, dword [ebp - 4]
call fcn.00404d30
mov eax, dword [ebp - 8]
call fcn.00404d30
xor eax, eax
push ebp
push 0x4f5faf
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4de084]
call fcn.0045c100
mov ebx, eax
mov eax, ebx
call fcn.00460340
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x88]
lea eax, [ebp - 0x254]
call fcn.00409f40
mov edx, dword [ebp - 0x254]
lea eax, [ebp - 0x110]
mov ecx, 0xff
call fcn.00404b24
mov eax, dword [ebp - 4]
call fcn.00402918
call fcn.004028dc
lea eax, [ebp - 0x250]
push eax
push 0x4f5fc0
call sub.kernel32.dll_FindFirstFileA_1
mov esi, eax
cmp esi, 0xffffffff
je 0x4f5f2e
mov eax, dword [ebp - 8]
call fcn.004095a4
test al, al
jne 0x4f5d71
mov eax, dword [ebp - 8]
call fcn.004095c8
lea eax, [ebp - 0x10]
lea edx, [ebp - 0x224]
mov ecx, 0x104
call fcn.00404af8
mov eax, dword [ebp - 0x10]
mov edx, 0x4f5fcc
call fcn.00404c8c
je 0x4f5f0b
mov eax, dword [ebp - 0x10]
mov edx, 0x4f5fd8
call fcn.00404c8c
je 0x4f5f0b
cmp dword [ebp - 0x250], 0x10
jne 0x4f5e92
push dword [ebp - 8]
push 0x4f5fe4
push dword [ebp - 0x10]
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00404c08
mov eax, dword [ebp - 0xc]
call fcn.004095a4
test al, al
jne 0x4f5de3
mov eax, dword [ebp - 0xc]
call fcn.004095c8
mov eax, dword [ebp - 4]
call fcn.00404b48
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 1], 0x5c
je 0x4f5e3f
xor edx, edx
mov eax, dword [ebx + 0x30c]
call fcn.00443a64
xor edx, edx
mov eax, dword [ebx + 0x310]
call fcn.00443a64
push dword [ebp - 4]
push 0x4f5fe4
push dword [ebp - 0x10]
lea eax, [ebp - 0x258]
mov edx, 3
call fcn.00404c08
mov edx, dword [ebp - 0x258]
mov ecx, dword [ebp - 0xc]
mov eax, edi
call fcn.004f5c88
jmp 0x4f5f0b
xor edx, edx
mov eax, dword [ebx + 0x30c]
call fcn.00443a64
xor edx, edx
mov eax, dword [ebx + 0x310]
call fcn.00443a64
lea eax, [ebp - 0x25c]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
call fcn.00404b94
mov eax, dword [ebp - 0x25c]
push eax
lea eax, [ebp - 0x260]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
call fcn.00404b94
mov edx, dword [ebp - 0x260]
mov eax, edi
pop ecx
call fcn.004f5c88
jmp 0x4f5f0b
push dword [ebp - 8]
push 0x4f5fe4
push dword [ebp - 0x10]
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00404c08
lea eax, [ebp - 0x264]
mov ecx, dword [ebp - 0x10]
mov edx, 0x4f5ff0
call fcn.00404b94
mov edx, dword [ebp - 0x264]
mov eax, dword [ebx + 0x30c]
call fcn.00443a64
lea eax, [ebp - 0x268]
mov ecx, dword [ebp - 8]
mov edx, 0x4f6008
call fcn.00404b94
mov edx, dword [ebp - 0x268]
mov eax, dword [ebx + 0x310]
call fcn.00443a64
push 0xffffffffffffffff
mov eax, dword [ebp - 0xc]
call fcn.00404d40
push eax
mov eax, dword [ebp - 0x10]
call fcn.00404d40
push eax
call sub.kernel32.dll_CopyFileA
lea eax, [ebp - 0x250]
push eax
push esi
call sub.kernel32.dll_FindNextFileA
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x4f5d71
push esi
call sub.kernel32.dll_FindClose_1
jmp 0x4f5f53
lea eax, [ebp - 0x26c]
lea edx, [ebp - 0x110]
call fcn.00404aec
mov eax, dword [ebp - 0x26c]
call fcn.00402918
call fcn.004028dc
xor ebx, ebx
jmp 0x4f5f84
lea eax, [ebp - 0x270]
lea edx, [ebp - 0x110]
call fcn.00404aec
mov eax, dword [ebp - 0x270]
call fcn.00402918
call fcn.004028dc
mov eax, ebx
call fcn.00460198
mov eax, ebx
call fcn.00403aa0
mov bl, 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f5fb6
lea eax, [ebp - 0x270]
mov edx, 8
call fcn.004048b4
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.004048b4
ret