Function at 0x401000
Capabilities:
Copy file
Create process on windows
Delete file
Get common file path
Set current directory
Set file attributes

Disassembly:
sub esp, 0xb00
lea eax, [esp + 0x100]
push ebp
push esi
push edi
push eax
push 0xff
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea ecx, [esp + 0x10c]
push ecx
call fcn.00401520
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea edx, [esp + 0x110]
push str.BINMSETUP.EXE
push edx
lea eax, [esp + 0xa18]
push str._s_s
push eax
call esi
lea ecx, [esp + 0xa20]
push ecx
call fcn.00401440
add esp, 0x18
test eax, eax
je 0x40136b
lea edx, [esp + 0x50c]
push edx
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [esp + 0x50c]
push str.adskfeui_
push eax
lea ecx, [esp + 0x214]
push str._s_s
push ecx
call esi
lea edx, [esp + 0x21c]
push edx
call fcn.0040162b
lea eax, [esp + 0x520]
push str.adskfeuiBin_
push eax
lea ecx, [esp + 0x928]
push str._s_s
push ecx
call esi
lea edx, [esp + 0x930]
push edx
call fcn.0040162b
lea eax, [esp + 0x534]
push str.adskfeui_bin_acadfeui
push eax
lea ecx, [esp + 0x73c]
push str._s_s
push ecx
call esi
lea edx, [esp + 0x744]
push edx
call fcn.0040162b
lea eax, [esp + 0x548]
push str.adskfeui_bin_acadfeuidocs
push eax
lea ecx, [esp + 0x750]
push str._s_s
push ecx
call esi
add esp, 0x4c
lea edx, [esp + 0x70c]
push edx
call fcn.0040162b
lea eax, [esp + 0x910]
push str.MSETUP.INI
push eax
lea ecx, [esp + 0x418]
push str._s_s
push ecx
call esi
mov edx, dword [esp + 0xb2c]
push edx
call fcn.00401480
add esp, 0x18
test eax, eax
jne 0x40139e
lea eax, [esp + 0x20c]
push str.SETUP.EXE
push eax
lea ecx, [esp + 0x614]
push str._s_s
push ecx
call esi
lea edx, [esp + 0x21c]
push str.SETUP.EXE
push edx
lea eax, [esp + 0x24]
push str._s_s
push eax
call esi
lea ecx, [esp + 0x12c]
push str.SETUP.EXE
push ecx
lea edx, [esp + 0x334]
push str._s_s
push edx
call esi
lea eax, [esp + 0x3c]
push eax
call fcn.00401440
add esp, 0x34
test eax, eax
je 0x4011c7
mov edi, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [esp + 0xc]
push 0x80
push ecx
call edi
jmp 0x4011cd
mov edi, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ebp, dword [sym.imp.KERNEL32.dll_CopyFileA]
lea edx, [esp + 0xc]
push 0
lea eax, [esp + 0x310]
push edx
push eax
call ebp
lea ecx, [esp + 0x20c]
push str.SETUP.INI
push ecx
lea edx, [esp + 0x14]
push str._s_s
push edx
call esi
lea eax, [esp + 0x11c]
push str.SETUP.INI
push eax
lea ecx, [esp + 0x324]
push str._s_s
push ecx
call esi
lea edx, [esp + 0x2c]
push edx
call fcn.00401440
add esp, 0x24
test eax, eax
je 0x401236
lea eax, [esp + 0xc]
push 0x80
push eax
call edi
lea ecx, [esp + 0xc]
push 0
lea edx, [esp + 0x310]
push ecx
push edx
call ebp
lea eax, [esp + 0x40c]
push eax
call fcn.00401440
add esp, 4
test eax, eax
je 0x401278
lea ecx, [esp + 0x40c]
push 0x80
push ecx
call edi
lea edx, [esp + 0x40c]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [esp + 0x40c]
push 0x40704c
push eax
call fcn.00401618
mov edi, eax
add esp, 8
test edi, edi
je 0x4012af
lea ecx, [esp + 0x10c]
push ecx
push 0x407048
push edi
call fcn.004015c6
push edi
call fcn.00401570
add esp, 0x10
push 0x407044
push str.BinFeuiBin.lst
call fcn.00401618
mov edi, eax
add esp, 8
test edi, edi
je 0x40139e
mov al, byte [edi + 0xc]
push ebx
mov bl, 0x10
test bl, al
jne 0x40135f
lea edx, [esp + 0x810]
push edx
push edi
call fcn.004013f0
lea eax, [esp + 0x818]
lea ecx, [esp + 0x218]
push eax
push ecx
lea edx, [esp + 0x20]
push str._s_s
push edx
call esi
lea eax, [esp + 0x828]
lea ecx, [esp + 0x328]
push eax
push 0x407048
push ecx
call esi
mov al, byte [edi + 0xc]
add esp, 0x24
test bl, al
jne 0x40135f
lea edx, [esp + 0x10]
push edx
call fcn.00401440
add esp, 4
test eax, eax
je 0x401345
lea eax, [esp + 0x10]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [esp + 0x10]
push 0
lea edx, [esp + 0x314]
push ecx
push edx
call ebp
test byte [edi + 0xc], bl
je 0x4012d9
push edi
call fcn.00401570
add esp, 4
pop ebx
jmp 0x40139e
lea eax, [esp + 0x60c]
push eax
call fcn.00401440
add esp, 4
test eax, eax
je 0x4013dc
lea ecx, [esp + 0x10c]
push str.SETUP.EXE
push ecx
lea edx, [esp + 0x614]
push str._s_s
push edx
call esi
add esp, 0x10
mov eax, dword [esp + 0xb18]
push eax
call fcn.00401480
add esp, 4
test eax, eax
jne 0x4013cc
lea ecx, [esp + 0x20c]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea edx, [esp + 0x60c]
push 1
push edx
jmp 0x4013d6
lea eax, [esp + 0x60c]
push 1
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0xb00
ret 0x10