Function at 0x404e16
Capabilities:
Copy file
Enumerate files on windows
Move file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1298
call fcn.004058d0
push ebx
push esi
xor ebx, ebx
xor esi, esi
cmp esi, 0x13e6
jne 0x404e3c
mov eax, 0x38d6
add dword [0x466b54], eax
cmp dword [0x466b54], 0xbd8
jne 0x404e53
push 0x401294
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
inc esi
cmp esi, 0x31a652
jl 0x404e29
call fcn.00404e02
mov eax, dword [0x466b54]
xor esi, esi
cmp eax, ebx
jbe 0x404e95
push esi
call fcn.00404c58
cmp dword [0x466b54], 0x29
jne 0x404e8b
call dword [sym.imp.KERNEL32.dll_SetFileApisToOEM]
lea eax, [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [0x466b54]
inc esi
cmp esi, eax
jb 0x404e6c
xor esi, esi
cmp eax, 0x481
jne 0x404ec0
push ebx
push ebx
push 0x4012bc
push 0x4012c8
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceLanguagesA]
push ebx
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov eax, dword [0x466b54]
cmp eax, 0x721
je 0x404f04
inc esi
cmp esi, 0x962be2
jl 0x404e97
cmp eax, 0x19c
jne 0x404f52
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_UpdateResourceW]
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateActCtxW]
jmp 0x404f4b
push 0x4012d8
lea eax, [ebp - 0x698]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push ebx
call dword [sym.imp.KERNEL32.dll_RemoveVectoredExceptionHandler]
lea eax, [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push 0x4012f8
push 0x401318
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceA]
push ebx
call dword [sym.imp.KERNEL32.dll_ExitThread]
xor esi, esi
cmp esi, 0xab9d
jne 0x404f6c
push 0x44d908
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x466b50], eax
inc esi
cmp esi, 0x2594b
jl 0x404f54
mov byte [0x44d908], bl
xor esi, esi
cmp esi, 0x148
jne 0x404f8a
call fcn.00404d06
inc esi
cmp esi, 0x427fa7
jl 0x404f7d
push 0x416010
push dword [0x466b54]
push dword [0x466700]
call fcn.00404c0c
xor esi, esi
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFlags]
cmp esi, 0x2f7e4
jne 0x404fbf
call fcn.00404cf8
inc esi
cmp esi, 0x48122
jl 0x404fab
call fcn.004043e6
cmp dword [0x466b54], 0x58c
jne 0x40504f
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_LocalShrink]
push ebx
lea eax, [ebp - 0xa98]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstVolumeW]
lea eax, [ebp - 0x17c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
push ebx
push ebx
push ebx
push ebx
push 0x401350
push 0x4013b0
call dword [sym.imp.KERNEL32.dll_CopyFileExW]
push ebx
push ebx
push ebx
lea eax, [ebp - 0x298]
push eax
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1298]
push eax
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SearchPathW]
push ebx
push ebx
push ebx
push 0x401414
push 0x401438
call dword [sym.imp.KERNEL32.dll_MoveFileWithProgressW]
call fcn.00404cf1
pop esi
xor eax, eax
pop ebx
leave
ret