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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2d4
mov eax, dword [0x5402b0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov dword [ebp - 0x2b0], ecx
mov ecx, dword [ebp + 8]
push edi
mov edi, 0x51bd00
lea esi, [ebp - 0x3c]
mov dword [ebp - 0x2b8], ecx
mov dword [ebp - 0x2b4], ebx
call fcn.0040e390
mov eax, dword [ebp - 0x38]
mov esi, 8
cmp dword [ebp - 0x24], esi
jae 0x466efb
lea eax, [ebp - 0x38]
lea ecx, [ebp - 0x2a8]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x2ac], eax
cmp eax, 0xffffffff
jne 0x466f26
cmp dword [ebp - 0x24], esi
jb 0x4670e1
mov edx, dword [ebp - 0x38]
push edx
jmp 0x4670d9
cmp dword [ebx + 0x18], esi
jb 0x466f30
mov eax, dword [ebx + 4]
jmp 0x466f33
lea eax, [ebx + 4]
xor ebx, ebx
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea ecx, [ecx]
mov ecx, dword [ebp - 0x2b4]
mov edi, 0x51bcf8
lea esi, [ebp - 0x2d4]
call fcn.0040e390
lea edi, [ebp - 0x27c]
mov ecx, eax
lea esi, [ebp - 0x58]
call fcn.0040e390
cmp dword [ebp - 0x2bc], 8
jb 0x466f7e
mov eax, dword [ebp - 0x2d0]
push eax
call fcn.004c097a
add esp, 4
mov ecx, dword [ebp - 0x2b8]
mov edi, 0x51bcf8
lea esi, [ebp - 0x2d4]
call fcn.0040e390
lea edi, [ebp - 0x27c]
mov ecx, eax
lea esi, [ebp - 0x20]
call fcn.0040e390
mov esi, 8
cmp dword [ebp - 0x2bc], esi
jb 0x466fc0
mov ecx, dword [ebp - 0x2d0]
push ecx
call fcn.004c097a
add esp, 4
test byte [ebp - 0x2a8], 0x10
je 0x467056
mov ecx, 0x51bd0c
lea eax, [ebp - 0x27c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x466ffe
cmp dx, bx
je 0x466ffa
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x466ffe
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x466fd8
xor eax, eax
jmp 0x467003
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x467075
mov ecx, 0x51bd10
lea eax, [ebp - 0x27c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x467038
cmp dx, bx
je 0x467034
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x467038
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x467012
xor eax, eax
jmp 0x46703d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x467075
mov ecx, dword [ebp - 0x2b0]
lea edx, [ebp - 0x58]
push edx
lea eax, [ebp - 0x20]
push eax
call fcn.00466eb0
jmp 0x467075
mov ecx, dword [ebp - 0x54]
cmp dword [ebp - 0x40], esi
jae 0x467061
lea ecx, [ebp - 0x54]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 8], esi
jae 0x46706c
lea eax, [ebp - 0x1c]
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
cmp dword [ebp - 8], esi
jb 0x467086
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.004c097a
add esp, 4
xor edx, edx
mov dword [ebp - 8], 7
mov dword [ebp - 0xc], ebx
mov word [ebp - 0x1c], dx
cmp dword [ebp - 0x40], esi
jb 0x4670a7
mov eax, dword [ebp - 0x54]
push eax
call fcn.004c097a
add esp, 4
mov edx, dword [ebp - 0x2ac]
lea ecx, [ebp - 0x2a8]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x466f40
mov eax, dword [ebp - 0x2ac]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp - 0x24], esi
jb 0x4670e1
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.004c097a
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004c0985
mov esp, ebp
pop ebp
ret 8