Function at 0x40ef40
Capabilities:
Check if file exists
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x433f37
mov eax, dword fs:[0]
push eax
sub esp, 0x8a8
mov eax, dword [0x455070]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x86c], ecx
xor eax, eax
mov word [ebp - 0x218], ax
push 0x206
push 0
lea ecx, [ebp - 0x216]
push ecx
call sub.MSVCR110.dll_memset
add esp, 0xc
push 0x43c43c
call fcn.0040eeb0
add eax, 0x78
mov ecx, eax
call fcn.004059f0
push eax
lea edx, [ebp - 0x218]
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x40f2d0
push 1
lea ecx, [ebp - 0x850]
call fcn.00401140
lea ecx, [ebp - 0x850]
call fcn.00403440
mov dword [ebp - 4], 0
push 1
lea ecx, [ebp - 0x844]
call fcn.00401140
lea ecx, [ebp - 0x844]
call fcn.00403440
mov byte [ebp - 4], 1
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x894], esp
push 0x43c44c
call fcn.004065b0
mov dword [ebp - 0x870], eax
mov ecx, dword [ebp - 0x870]
mov dword [ebp - 0x898], ecx
mov byte [ebp - 4], 2
lea edx, [ebp - 0x218]
push edx
lea ecx, [ebp - 0x8b4]
call fcn.004065b0
mov dword [ebp - 0x878], eax
mov eax, dword [ebp - 0x878]
mov dword [ebp - 0x880], eax
mov byte [ebp - 4], 3
push 1
push 0
lea ecx, [ebp - 0x850]
push ecx
lea edx, [ebp - 0x844]
push edx
mov eax, dword [ebp - 0x880]
push eax
mov byte [ebp - 4], 4
call dword [sym.imp.iImportLib.dll__TraverseDirectory_filepath_elex__YA_NAAV__basic_string__WU__char_traits__W_std__V__allocator__W_2__std__AA]
add esp, 0x2c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x8b4]
call fcn.00405b70
push 1
lea ecx, [ebp - 0x838]
call fcn.00406860
lea ecx, [ebp - 0x838]
push ecx
lea ecx, [ebp - 0x850]
call fcn.0040f3a0
jmp 0x40f0bf
push 0
lea edx, [ebp - 0x88c]
push edx
lea ecx, [ebp - 0x838]
call fcn.0040f420
lea eax, [ebp - 0x884]
push eax
lea ecx, [ebp - 0x850]
call fcn.0040f3d0
push eax
lea ecx, [ebp - 0x838]
call fcn.004054a0
movzx ecx, al
test ecx, ecx
je 0x40f18d
xor edx, edx
mov word [ebp - 0x628], dx
push 0x206
push 0
lea eax, [ebp - 0x626]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x838]
call fcn.0040f400
mov ecx, eax
call fcn.004059f0
push eax
push 0x208
lea ecx, [ebp - 0x628]
push ecx
call fcn.004078a0
xor edx, edx
mov word [ebp - 0x830], dx
push 0x206
push 0
lea eax, [ebp - 0x82e]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
call fcn.0040eeb0
add eax, 0x78
mov ecx, eax
call fcn.004059f0
push eax
push 0x208
lea ecx, [ebp - 0x830]
push ecx
call fcn.004078a0
lea edx, [ebp - 0x830]
push edx
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.iImportLib.dll_int___cdecl_elex::func::CopyFolder_wchar_t_const___wchar_t_const__]
add esp, 8
mov dword [ebp - 0x874], eax
jmp 0x40f0ab
push 1
lea ecx, [ebp - 0x834]
call fcn.00406860
lea ecx, [ebp - 0x834]
push ecx
lea ecx, [ebp - 0x844]
call fcn.0040f3a0
jmp 0x40f1c2
push 0
lea edx, [ebp - 0x888]
push edx
lea ecx, [ebp - 0x834]
call fcn.0040f420
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x844]
call fcn.0040f3d0
push eax
lea ecx, [ebp - 0x834]
call fcn.004054a0
movzx ecx, al
test ecx, ecx
je 0x40f2af
lea ecx, [ebp - 0x834]
call fcn.0040f400
mov ecx, eax
call fcn.004059f0
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea ecx, [ebp - 0x868]
call fcn.004065b0
mov byte [ebp - 4], 5
xor edx, edx
mov word [ebp - 0x420], dx
push 0x206
push 0
lea eax, [ebp - 0x41e]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x868]
call fcn.004059f0
push eax
call fcn.0040eeb0
add eax, 0x78
mov ecx, eax
call fcn.004059f0
push eax
lea ecx, [ebp - 0x420]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push 0
lea edx, [ebp - 0x420]
push edx
lea ecx, [ebp - 0x834]
call fcn.0040f400
mov ecx, eax
call fcn.004059f0
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov dword [ebp - 0x87c], eax
cmp dword [ebp - 0x87c], 0
je 0x40f28f
jmp 0x40f29b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x89c], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x868]
call fcn.00405b70
jmp 0x40f1ae
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x844]
call fcn.00403560
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x850]
call fcn.00403560
mov ecx, dword [ebp - 0x86c]
call fcn.0040f300
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004314a6
mov esp, ebp
pop ebp
ret