Function at 0x42f638
Capabilities:
Check if file exists
Enumerate files on windows
Enumerate files recursively
Get file attributes

Disassembly:
push 0x2b8
mov eax, 0x47a910
call fcn.0045053c
mov esi, edx
mov edi, ecx
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x29c]
mov dword [ebp - 0x284], eax
xor ebx, ebx
lea eax, [ebp - 0x268]
mov dword [ebp - 0x268], ebx
push eax
push str.CopyFilesToDestDir
call fcn.0041dfa0
mov dword [ebp - 4], ebx
push ecx
lea ecx, [ebp - 0x2c4]
call fcn.00434cd9
mov byte [ebp - 4], 1
call fcn.00409480
push eax
lea ecx, [ebp - 0x26c]
call fcn.00408c39
mov byte [ebp - 4], 3
call fcn.00409480
push eax
lea ecx, [ebp - 0x264]
call fcn.00408c39
mov byte [ebp - 4], 5
call fcn.00409480
push eax
lea ecx, [ebp - 0x270]
call fcn.00408c39
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x280]
call fcn.0043203a
mov byte [ebp - 4], 8
test edi, edi
je 0x42fabc
cmp word [edi], bx
je 0x42fabc
test esi, esi
je 0x42fabc
cmp word [esi], bx
je 0x42fabc
push 0x250
lea eax, [ebp - 0x260]
push ebx
push eax
call fcn.00451b90
add esp, 0xc
lea eax, [ebp - 0x260]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x42fab8
mov ecx, edi
call fcn.0040b056
push eax
push edi
lea ecx, [ebp - 0x26c]
call fcn.0040afd8
push 0x5c
push dword [ebp - 0x26c]
call fcn.00450d4e
pop ecx
pop ecx
test eax, eax
je 0x42faa7
sub eax, dword [ebp - 0x26c]
sar eax, 1
cmp eax, 0xffffffff
je 0x42faa7
inc eax
lea ecx, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x288]
push eax
call fcn.0040c287
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x26c]
push eax
call fcn.0040a1c3
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x288]
lea ecx, [ecx - 0x10]
call fcn.00409575
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x42f831
mov edi, dword [ebp - 0x284]
mov edx, esi
lea ecx, [edi + 0x58]
call fcn.0042fba5
test al, al
jne 0x42f839
lea ecx, [ebp - 0x280]
call fcn.00408f6d
lea ecx, [ebp - 0x27c]
call fcn.00408f6d
lea ecx, [ebp - 0x278]
call fcn.00408f6d
xor eax, eax
mov ecx, esi
mov dword [ebp - 0x274], eax
mov byte [ebp - 0x271], 1
mov byte [ebp - 0x273], 1
call fcn.0040b056
push eax
push esi
lea ecx, [ebp - 0x278]
call fcn.0040afd8
mov ecx, edi
lea eax, [ebp - 0x280]
add ecx, 0x18
push eax
push dword [ecx]
call fcn.0043157d
mov edx, esi
lea ecx, [edi + 0x58]
call fcn.0042fb36
mov dword [ebp - 0x268], eax
test eax, eax
je 0x42f839
jmp 0x42fab1
test al, 0x10
je 0x42faa7
mov edi, dword [ebp + 8]
push 0x2e
pop eax
cmp word [ebp - 0x234], ax
jne 0x42f86d
cmp word [ebp - 0x232], 0
je 0x42fa7a
cmp word [ebp - 0x232], ax
jne 0x42f86d
cmp word [ebp - 0x230], 0
je 0x42fa7a
test byte [ebp - 0x260], 0x10
je 0x42f94e
mov ecx, esi
call fcn.0040b056
push eax
push esi
lea ecx, [ebp - 0x264]
call fcn.0040afd8
lea ecx, [ebp - 0x234]
call fcn.0040b056
push eax
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x264]
call fcn.0040c3a0
mov ecx, 0x48cb28
call fcn.0040b056
push eax
push 0x48cb28
lea ecx, [ebp - 0x264]
call fcn.0040c3a0
lea eax, [ebp - 0x234]
push eax
lea edx, [ebp - 0x26c]
lea ecx, [ebp - 0x288]
call fcn.0040a03a
pop ecx
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x270]
push eax
call fcn.0040a1c3
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x288]
lea ecx, [ecx - 0x10]
call fcn.00409575
mov ecx, 0x48cfbc
call fcn.0040b056
push eax
push 0x48cfbc
lea ecx, [ebp - 0x270]
call fcn.0040c3a0
push dword [ebp + 0x10]
mov edx, dword [ebp - 0x264]
push dword [ebp - 0x284]
mov ecx, dword [ebp - 0x270]
push edi
call fcn.0042f638
add esp, 0xc
mov dword [ebp - 0x268], eax
test eax, eax
jne 0x42fab1
jmp 0x42fa7a
lea eax, [ebp - 0x234]
push eax
lea edx, [ebp - 0x26c]
lea ecx, [ebp - 0x28c]
call fcn.0040a03a
pop ecx
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x270]
push eax
call fcn.0040a1c3
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x28c]
lea ecx, [ecx - 0x10]
call fcn.00409575
mov ecx, esi
call fcn.0040b056
push eax
push esi
lea ecx, [ebp - 0x264]
call fcn.0040afd8
lea ecx, [ebp - 0x234]
call fcn.0040b056
push eax
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x264]
call fcn.0040c3a0
lea ecx, [ebp - 0x280]
call fcn.00408f6d
lea ecx, [ebp - 0x27c]
call fcn.00408f6d
lea ecx, [ebp - 0x278]
call fcn.00408f6d
xor eax, eax
lea ecx, [ebp - 0x280]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp + 8]
mov byte [ebp - 0x271], al
lea eax, [ebp - 0x270]
push eax
call fcn.0040a1c3
lea eax, [ebp - 0x264]
push eax
lea ecx, [ebp - 0x278]
call fcn.0040a1c3
mov edi, dword [ebp - 0x284]
lea edx, [ebp - 0x264]
lea ecx, [ebp - 0x290]
lea eax, [edi + 8]
push eax
call fcn.0041aaa2
pop ecx
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x27c]
push eax
call fcn.0040a1c3
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x290]
lea ecx, [ecx - 0x10]
call fcn.00409575
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x270]
mov edx, edi
call fcn.0042fe22
pop ecx
mov dword [ebp - 0x268], eax
lea ecx, [edi + 0x18]
lea eax, [ebp - 0x280]
push eax
push dword [ecx]
call fcn.0043157d
mov edi, dword [ebp + 8]
push 0x250
lea eax, [ebp - 0x260]
push 0
push eax
call fcn.00451b90
add esp, 0xc
lea eax, [ebp - 0x260]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x42fab1
jmp 0x42f83c
mov dword [ebp - 0x268], 0x57
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
xor ebx, ebx
jmp 0x42fac6
mov dword [ebp - 0x268], 0x57
mov esi, dword [ebp - 0x268]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x280]
call fcn.0043207c
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x270]
lea ecx, [ecx - 0x10]
call fcn.00409575
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x264]
lea ecx, [ecx - 0x10]
call fcn.00409575
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x26c]
lea ecx, [ecx - 0x10]
call fcn.00409575
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x2c4]
call fcn.00434cfb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x29c]
call fcn.0041e015
mov eax, esi
call fcn.004504e6
ret