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

Disassembly:
push 0x274
mov eax, 0x5673ca
call fcn.0053cea9
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov esi, dword [ebp + 0xc]
sub eax, 0x10
push eax
call fcn.00402431
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.00402431
lea edi, [eax + 0x10]
pop ecx
mov dword [ebp - 0x278], edi
mov byte [ebp - 4], 1
cmp dword [edi - 0xc], 0
je 0x4355fe
cmp dword [ebx - 0xc], 0
je 0x4355fe
push dword [esi]
call fcn.004372a8
pop ecx
test eax, eax
jne 0x435374
call fcn.00437264
jmp 0x435377
xor eax, eax
inc eax
test eax, eax
je 0x4355fe
push 1
lea eax, [ebp - 0x268]
push eax
lea ecx, [ebp - 0x270]
call fcn.0040ea6c
mov esi, 0x599930
push esi
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.004107c5
test eax, eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x268]
setne byte [ebp - 0x261]
add ecx, 0xfffffff0
call fcn.0040274b
cmp byte [ebp - 0x261], 0
je 0x4353db
push 0x5c
lea ecx, [ebp - 0x270]
call fcn.00416bb0
mov ebx, dword [ebp - 0x270]
push 1
lea eax, [ebp - 0x268]
push eax
lea ecx, [ebp - 0x278]
call fcn.0040ea6c
push esi
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.004107c5
test eax, eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x268]
setne byte [ebp - 0x261]
add ecx, 0xfffffff0
call fcn.0040274b
cmp byte [ebp - 0x261], 0
je 0x435432
push 0x5c
lea ecx, [ebp - 0x278]
call fcn.00416bb0
mov edi, dword [ebp - 0x278]
call fcn.00437a9e
push eax
lea ecx, [ebp - 0x280]
call fcn.00402723
push 0x59b5d4
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0x268]
push eax
mov byte [ebp - 4], 4
call fcn.0040193e
add esp, 0xc
push eax
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 5
call fcn.0040248f
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x268]
add ecx, 0xfffffff0
call fcn.0040274b
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 0x4355cf
lea esi, [edi - 0x10]
push esi
call fcn.00402431
add eax, 0x10
pop ecx
mov dword [ebp - 0x274], eax
lea eax, [ebp - 0x234]
push eax
mov byte [ebp - 4], 6
call fcn.00537ff9
pop ecx
push eax
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x274]
call fcn.0040b0de
lea eax, [ebx - 0x10]
push eax
call fcn.00402431
add eax, 0x10
pop ecx
mov dword [ebp - 0x26c], eax
lea eax, [ebp - 0x234]
push eax
mov byte [ebp - 4], 7
call fcn.00537ff9
pop ecx
push eax
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x26c]
call fcn.0040b0de
test byte [ebp - 0x260], 0x10
je 0x435580
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x27c]
call fcn.0040235d
push 0x59da58
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 8
call fcn.004107c5
test eax, eax
je 0x435570
push 0x59eae4
lea ecx, [ebp - 0x27c]
call fcn.004107c5
test eax, eax
je 0x435570
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x26c]
push eax
call fcn.00435306
pop ecx
pop ecx
mov ecx, dword [ebp - 0x27c]
add ecx, 0xfffffff0
call fcn.0040274b
jmp 0x435594
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.0040274b
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x274]
add ecx, 0xfffffff0
call fcn.0040274b
lea eax, [ebp - 0x260]
push eax
push dword [ebp - 0x268]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4354a9
push dword [ebp - 0x268]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 0x280]
add ecx, 0xfffffff0
call fcn.0040274b
lea ecx, [edi - 0x10]
call fcn.0040274b
lea ecx, [ebx - 0x10]
call fcn.0040274b
xor eax, eax
inc eax
jmp 0x435610
lea ecx, [edi - 0x10]
call fcn.0040274b
lea ecx, [ebx - 0x10]
call fcn.0040274b
xor eax, eax
call fcn.0053cf2c
ret