Function at 0x402050
Capabilities:
Copy file
Delete file
Get file attributes
Read file on windows
Set file attributes
Write file on windows

Disassembly:
sub esp, 0x308
push ebx
push ebp
push esi
push edi
call fcn.004025e0
mov eax, dword [0x40968c]
mov edi, 1
cmp eax, edi
jne 0x4020b8
push edi
push str.FileOpen
push str.Adobe_Acrobat_is_active._Click_OK_to_close_Acrobat_and_continue_this_install.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
jne 0x402092
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x308
ret
call fcn.004026f0
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x7d0
call esi
call fcn.004025e0
cmp dword [0x40968c], edi
jne 0x4020b8
push 0x7d0
call esi
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileA]
push 0
push 0x8000080
push 3
push 0
push 3
push 0x80000000
push 0x40a0a4
call edi
mov esi, eax
cmp esi, 0xffffffff
jne 0x402117
push 0x40a0a4
lea eax, [esp + 0x1c]
push str.Cannot_read:__s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [esp + 0x18]
push 0
push str.Error
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x308
ret
mov edx, dword [0x40b6e0]
push 0
push 0
push edx
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x40a1a4
call ebx
test eax, eax
jne 0x402160
push 0x40a1a4
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 1
je 0x402159
push 0x80
push 0x40a1a4
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0x40a1a4
call ebx
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
push str.FileOpen.api
push str.FileOpen
lea eax, [esp + 0x120]
push str._s_was_unable_to_copy__s_to_your_Acrobat_plug_ins_directory._You_may_copy_this_file_manually_from:
push eax
call ebx
add esp, 0x10
push 0
push 0x8000080
push 2
push 0
push 3
push 0x40000000
push 0x40a1a4
call edi
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x402211
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [esp + 0x1c]
push str.Error__x
push ecx
call ebx
lea edx, [esp + 0x124]
push str.http:__www.fileopen.com_FileOpen.api
push edx
lea eax, [esp + 0x22c]
push str._s__s
push eax
call ebx
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
add esp, 0x1c
lea ecx, [esp + 0x18]
lea edx, [esp + 0x218]
push 0
push ecx
push edx
push 0
call esi
push 0
push str.Path_to_Acrobat:
push 0x40a1a4
push 0
call esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x308
ret
mov ebx, dword [sym.imp.KERNEL32.dll_ReadFile]
xor edi, edi
lea eax, [esp + 0x10]
push 0
push eax
push 0x1000
push 0x40a6e0
push esi
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [0x40b6e8]
add edi, eax
cmp edi, ecx
jbe 0x402245
sub ecx, edi
add eax, ecx
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x14]
push 0
push ecx
push eax
push 0x40a6e0
push ebp
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jl 0x40226e
cmp eax, 0x1000
jl 0x4022b3
jmp 0x402219
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebp
call edi
push esi
call edi
push 0x40a1a4
lea edx, [esp + 0x1c]
push str.Cannot_write:__s
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [esp + 0x18]
push 0
push str.Error
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x308
ret
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebp
call edi
push esi
call edi
mov ecx, dword [0x4093e8]
mov edx, dword [0x4093e4]
add ecx, edx
cmp ecx, 2
jne 0x4022e4
push 0
push 0x4096a0
push 0x40a1a4
call dword [sym.imp.KERNEL32.dll_CopyFileA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x308
ret