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

Disassembly:
push 0x274
mov eax, 0x5677b6
call fcn.0053d399
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov esi, dword [ebp + 0xc]
sub eax, 0x10
push eax
call fcn.0040242c
lea ebx, [eax + 0x10]
pop ecx
mov dword [ebp - 0x270], ebx
and dword [ebp - 4], 0
mov eax, dword [esi]
sub eax, 0x10
push eax
call fcn.0040242c
lea edi, [eax + 0x10]
pop ecx
mov dword [ebp - 0x278], edi
mov byte [ebp - 4], 1
cmp dword [edi - 0xc], 0
je 0x4359dd
cmp dword [ebx - 0xc], 0
je 0x4359dd
push dword [esi]
call fcn.00437687
pop ecx
test eax, eax
jne 0x435753
call fcn.00437643
jmp 0x435756
xor eax, eax
inc eax
test eax, eax
je 0x4359dd
push 1
lea eax, [ebp - 0x268]
push eax
lea ecx, [ebp - 0x270]
call fcn.0040ef71
mov esi, 0x599b60
push esi
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.00410c4d
test eax, eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x268]
setne byte [ebp - 0x261]
add ecx, 0xfffffff0
call fcn.00402728
cmp byte [ebp - 0x261], 0
je 0x4357ba
push 0x5c
lea ecx, [ebp - 0x270]
call fcn.00416faf
mov ebx, dword [ebp - 0x270]
push 1
lea eax, [ebp - 0x268]
push eax
lea ecx, [ebp - 0x278]
call fcn.0040ef71
push esi
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.00410c4d
test eax, eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x268]
setne byte [ebp - 0x261]
add ecx, 0xfffffff0
call fcn.00402728
cmp byte [ebp - 0x261], 0
je 0x435811
push 0x5c
lea ecx, [ebp - 0x278]
call fcn.00416faf
mov edi, dword [ebp - 0x278]
call fcn.00437f60
push eax
lea ecx, [ebp - 0x280]
call fcn.0042a551
push 0x59b84c
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0x268]
push eax
mov byte [ebp - 4], 4
call fcn.00401943
add esp, 0xc
push eax
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 5
call fcn.0040248a
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x268]
add ecx, 0xfffffff0
call fcn.00402728
lea eax, [ebp - 0x260]
push eax
push dword [ebp - 0x280]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x268], eax
cmp eax, 0xffffffff
je 0x4359ae
lea esi, [edi - 0x10]
push esi
call fcn.0040242c
add eax, 0x10
pop ecx
mov dword [ebp - 0x274], eax
lea eax, [ebp - 0x234]
push eax
mov byte [ebp - 4], 6
call fcn.005384e9
pop ecx
push eax
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x274]
call fcn.0040b75d
lea eax, [ebx - 0x10]
push eax
call fcn.0040242c
add eax, 0x10
pop ecx
mov dword [ebp - 0x26c], eax
lea eax, [ebp - 0x234]
push eax
mov byte [ebp - 4], 7
call fcn.005384e9
pop ecx
push eax
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x26c]
call fcn.0040b75d
test byte [ebp - 0x260], 0x10
je 0x43595f
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x27c]
call fcn.00402358
push 0x59dcd0
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 8
call fcn.00410c4d
test eax, eax
je 0x43594f
push 0x59ed94
lea ecx, [ebp - 0x27c]
call fcn.00410c4d
test eax, eax
je 0x43594f
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x26c]
push eax
call fcn.004356e5
pop ecx
pop ecx
mov ecx, dword [ebp - 0x27c]
add ecx, 0xfffffff0
call fcn.00402728
jmp 0x435973
push 0
push dword [ebp - 0x274]
push dword [ebp - 0x26c]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov ecx, dword [ebp - 0x26c]
add ecx, 0xfffffff0
call fcn.00402728
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x274]
add ecx, 0xfffffff0
call fcn.00402728
lea eax, [ebp - 0x260]
push eax
push dword [ebp - 0x268]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x435888
push dword [ebp - 0x268]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 0x280]
add ecx, 0xfffffff0
call fcn.00402728
lea ecx, [edi - 0x10]
call fcn.00402728
lea ecx, [ebx - 0x10]
call fcn.00402728
xor eax, eax
inc eax
jmp 0x4359ef
lea ecx, [edi - 0x10]
call fcn.00402728
lea ecx, [ebx - 0x10]
call fcn.00402728
xor eax, eax
call fcn.0053d41c
ret