Function at 0x4538f7
Capabilities:
Check if file exists
Copy file
Get file attributes

Disassembly:
push 0x68
mov eax, 0x4ef24b
call fcn.004cb117
mov esi, dword [ebp + 8]
sub esp, 0x1c
mov edi, ecx
mov ecx, esp
mov dword [ebp - 0x6c], esp
push 0x4f5a50
mov dword [ebp - 0x74], edi
mov byte [ebp - 0x65], 1
call fcn.0044dacf
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, dword [esi + 4]
sub eax, dword [esi]
push 0x5c
cdq
pop ecx
idiv ecx
and dword [ebp - 0x6c], 0
test eax, eax
je 0x453af0
and dword [ebp - 0x70], 0
mov edi, 0x50bfdc
lea eax, [esi + 0x180]
push eax
lea ecx, [ebp - 0x48]
call fcn.0044d9de
mov ebx, dword [esi]
and dword [ebp - 4], 0
add ebx, dword [ebp - 0x70]
push edi
call fcn.004ca000
pop ecx
push eax
push edi
lea ecx, [ebp - 0x48]
call fcn.0044da04
push 0xffffffffffffffff
push 0
push ebx
mov ecx, eax
call fcn.0044d801
lea eax, [esi + 0x19c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0044d9de
mov ebx, dword [esi]
add ebx, dword [ebp - 0x70]
push edi
mov byte [ebp - 4], 1
call fcn.004ca000
pop ecx
push eax
push edi
lea ecx, [ebp - 0x2c]
call fcn.0044da04
push 0xffffffffffffffff
push 0
push ebx
mov ecx, eax
call fcn.0044d801
mov eax, dword [esi]
add eax, dword [ebp - 0x70]
cmp byte [eax + 0x58], 0
je 0x453a1a
push eax
lea eax, [esi + 0x19c]
push eax
call fcn.004629ba
pop ecx
pop ecx
xor ebx, ebx
mov eax, dword [ebp - 0x74]
push ebx
push ebx
push 0x421
push dword [eax + 4]
call dword [sym.imp.USER32.dll_PostMessageA]
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.0044d2a1
or dword [ebp - 4], 0xffffffff
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.0044d2a1
mov eax, dword [esi + 4]
sub eax, dword [esi]
push 0x5c
cdq
pop ecx
idiv ecx
inc dword [ebp - 0x6c]
add dword [ebp - 0x70], 0x5c
cmp dword [ebp - 0x6c], eax
jb 0x453947
jmp 0x453ae7
cmp byte [eax + 0x59], 0
sete al
test al, al
jne 0x453a42
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x453a31
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
sete al
test al, al
je 0x4539cb
cmp dword [ebp - 0x18], 0x10
mov ecx, dword [ebp - 0x2c]
jae 0x453a4e
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x34], 0x10
mov eax, dword [ebp - 0x48]
jae 0x453a5a
lea eax, [ebp - 0x48]
xor ebx, ebx
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
setne byte [ebp - 0x65]
cmp byte [ebp - 0x65], bl
jne 0x4539cd
push 0x4f5a48
lea ecx, [ebp - 0x64]
call fcn.0044dacf
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 2
call fcn.0044d801
mov esi, 0x4f5a40
push esi
call fcn.004ca000
pop ecx
push eax
push esi
lea ecx, [ebp - 0x64]
call fcn.0044da04
sub esp, 0x1c
lea eax, [ebp - 0x64]
mov ecx, esp
mov dword [ebp - 0x6c], esp
push eax
call fcn.0044d9de
mov ecx, dword [ebp - 0x74]
mov eax, dword [ecx]
call dword [eax]
push ebx
push 1
lea ecx, [ebp - 0x64]
call fcn.0044d2a1
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.0044d2a1
or dword [ebp - 4], 0xffffffff
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.0044d2a1
cmp byte [ebp - 0x65], 0
je 0x453b08
mov edi, dword [ebp - 0x74]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x74], esp
push 0x4f5a28
call fcn.0044dacf
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov al, byte [ebp - 0x65]
call fcn.004cb19a
ret 4