Function at 0x476cf4
Capabilities:
Copy file
Create directory
Enumerate files on windows
Enumerate files recursively

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1c258
call fcn.004318e0
push ebx
push esi
push edi
mov edi, edx
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, 0xf
ja 0x476f16
pop ss
popal
push ss
call 0xe4bcecac
xchg ebp, eax
mov bh, 0x1f
xor al, byte [edi]
mov ss, word [ebx - 0x5b]
mov ecx, 0xa15c3893
out dx, eax
pop ds
or esi, esi
xor ebx, dword [ebp + 0x4369b69]
sub esi, dword [eax - 0x2d0b28d8]
test dword [edi - 0x61001f54], esi
cmp ch, byte [edi - 0x71d49a]
retf
xor eax, eax
push 0x3ffe
mov word [ebp - 0x10254], ax
xor ebx, ebx
lea eax, [ebp - 0x10252]
push ebx
push eax
call fcn.0041b930
add esp, 0xc
push esi
call fcn.0041b53d
pop ecx
add eax, eax
push eax
lea eax, [ebp - 0x10254]
push esi
push eax
call fcn.00418aa0
add esp, 0xc
xor eax, eax
push 0x3ffe
mov word [ebp - 0x8254], ax
lea eax, [ebp - 0x8252]
push ebx
push eax
call fcn.0041b930
add esp, 0xc
xor eax, eax
push 0x3ffe
mov word [ebp - 0x4254], ax
lea eax, [ebp - 0x4252]
push ebx
push eax
call fcn.0041b930
add esp, 0xc
push esi
call fcn.0041b53d
pop ecx
add eax, eax
push eax
lea eax, [ebp - 0x8254]
push esi
push eax
call fcn.00418aa0
add esp, 0xc
push edi
call fcn.0041b53d
pop ecx
add eax, eax
push eax
lea eax, [ebp - 0x4254]
push edi
push eax
call fcn.00418aa0
add esp, 0xc
xor eax, eax
mov esi, 0x3ffe
push esi
mov word [ebp - 0xc254], ax
lea eax, [ebp - 0xc252]
push ebx
push eax
call fcn.0041b930
add esp, 0xc
xor eax, eax
push esi
mov word [ebp - 0x18254], ax
lea eax, [ebp - 0x18252]
push ebx
push eax
call fcn.0041b930
add esp, 0xc
lea eax, [ebp - 0x10254]
push 0x5590c4
push 0x1000
push eax
call fcn.0041d425
add esp, 0xc
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0x10254]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebx, eax
test ebx, ebx
jne 0x477033
xor eax, eax
jmp 0x4771b3
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
test byte [ebp - 0x254], 0x10
je 0x4770fe
lea eax, [ebp - 0x228]
push 0x558280
push eax
call fcn.0041c1ec
pop ecx
pop ecx
test eax, eax
je 0x47718f
lea eax, [ebp - 0x228]
push 0x5590cc
push eax
call fcn.0041c1ec
pop ecx
pop ecx
test eax, eax
je 0x47718f
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x4254]
push eax
lea eax, [ebp - 0x18254]
push str._s_s
push eax
call edi
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x8254]
push eax
lea eax, [ebp - 0xc254]
push str._s_s
push eax
call edi
add esp, 0x20
lea eax, [ebp - 0x18254]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x4770dd
call esi
cmp eax, 0xb7
jne 0x4771b1
push 1
lea edx, [ebp - 0x18254]
lea ecx, [ebp - 0xc254]
call fcn.00476cf4
pop ecx
test eax, eax
jne 0x4771b3
jmp 0x47718f
xor eax, eax
push 0x3ffe
push eax
mov word [ebp - 0x1c254], ax
lea eax, [ebp - 0x1c252]
push eax
call fcn.0041b930
add esp, 0xc
xor eax, eax
push 0x3ffe
push eax
mov word [ebp - 0x14254], ax
lea eax, [ebp - 0x14252]
push eax
call fcn.0041b930
add esp, 0xc
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x4254]
push eax
lea eax, [ebp - 0x14254]
push str._s_s
push eax
call edi
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x8254]
push eax
lea eax, [ebp - 0x1c254]
push str._s_s
push eax
call edi
add esp, 0x20
lea eax, [ebp - 0x14254]
push 0
push eax
lea eax, [ebp - 0x1c254]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x4771b1
lea eax, [ebp - 0x254]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x47703f
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x47702c
call esi
pop edi
pop esi
pop ebx
leave
ret