Function at 0x409460
Capabilities:
Copy file
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94c
mov ax, word [0x41e7e0]
push ebx
push esi
push edi
push 0x40
mov word [ebp - 0x148], ax
pop ecx
xor eax, eax
lea edi, [ebp - 0x146]
push 0x104
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x148]
xor ebx, ebx
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push ecx
lea eax, [ebp - 0x148]
mov ecx, esp
push eax
call fcn.0040108c
lea eax, [ebp - 0x20]
push eax
call fcn.004090b9
pop ecx
pop ecx
lea ecx, [ebp - 0x20]
call fcn.004012be
lea eax, [ebp - 0x148]
lea ecx, [ebp - 0x38]
push eax
call fcn.0040108c
lea eax, [ebp - 0x148]
lea ecx, [ebp - 0x34]
push eax
call fcn.0040108c
push str._autoupdate
lea ecx, [ebp - 0x1c]
call fcn.0040108c
push dword [eax]
lea ecx, [ebp - 0x20]
call fcn.00401608
test eax, eax
lea ecx, [ebp - 0x1c]
setge byte [ebp - 9]
call fcn.00401a9f
cmp byte [ebp - 9], bl
je 0x4097bc
push 0x41e8bc
lea ecx, [ebp - 0x1c]
call fcn.0040104d
lea ecx, [ebp - 0x94c]
call fcn.0040995c
push 0x41aca4
push ebx
lea ecx, [ebp - 0x1c]
call fcn.004019f3
push eax
lea ecx, [ebp - 0x94c]
call fcn.004097db
push str.Path
lea ecx, [ebp - 0x94c]
call fcn.00409928
push eax
lea ecx, [ebp - 4]
call fcn.0040108c
push str.Version
lea ecx, [ebp - 0x94c]
call fcn.00409928
push eax
lea ecx, [ebp - 0x10]
call fcn.0040108c
push ecx
lea eax, [ebp - 4]
mov ecx, esp
push eax
call fcn.0040104d
lea eax, [ebp - 0x24]
push eax
call fcn.0040910d
pop ecx
lea eax, [ebp - 0x10]
pop ecx
push str..exe
push eax
lea eax, [ebp - 8]
push 0x41a580
push eax
call fcn.00405de4
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00405d9c
push eax
lea ecx, [ebp - 0x24]
call fcn.00401186
lea ecx, [ebp - 0x14]
call fcn.00401a9f
lea ecx, [ebp - 8]
call fcn.00401a9f
lea eax, [ebp - 0x28]
push eax
call fcn.0040a125
pop ecx
lea eax, [ebp - 0x28]
push eax
mov esi, 0x41ac98
lea eax, [ebp - 0x10]
push esi
push eax
lea eax, [ebp - 8]
push eax
call fcn.00405d9c
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.00405d53
lea ecx, [ebp - 8]
call fcn.00401a9f
lea eax, [ebp - 0x28]
push 0x41a5a4
push eax
lea eax, [ebp - 0x10]
push esi
push eax
lea eax, [ebp - 0x2c]
push str.Autoupdate:
push eax
call fcn.00405de4
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00405d9c
push eax
lea eax, [ebp - 8]
push eax
call fcn.00405d53
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00405d9c
lea ecx, [ebp - 8]
call fcn.00401a9f
lea ecx, [ebp - 0x14]
call fcn.00401a9f
lea ecx, [ebp - 0x2c]
call fcn.00401a9f
call fcn.0040939f
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 4]
push str._nBackup:_n
push eax
lea eax, [ebp - 0x30]
push 0x41ac78
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00405d9c
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00405d53
push eax
lea eax, [ebp - 8]
push eax
call fcn.00405d9c
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00405d53
mov eax, dword [eax]
mov esi, dword [sym.imp.USER32.dll_GetActiveWindow]
push 0x40003
push dword [ebp - 0x3c]
push eax
call esi
mov edi, dword [sym.imp.USER32.dll_MessageBoxA]
push eax
call edi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x40], eax
call fcn.00401a9f
lea ecx, [ebp - 8]
call fcn.00401a9f
lea ecx, [ebp - 0x14]
call fcn.00401a9f
lea ecx, [ebp - 0x18]
call fcn.00401a9f
lea ecx, [ebp - 0x10]
call fcn.004010f0
test eax, eax
je 0x4096f2
push str.Bad_Autoupdate_1
lea ecx, [ebp - 0x18]
call fcn.0040108c
mov eax, dword [eax]
push ebx
push ebx
push eax
call esi
push eax
call edi
lea ecx, [ebp - 0x18]
call fcn.00401a9f
lea ecx, [ebp - 4]
call fcn.004010f0
test eax, eax
je 0x40971d
push str.Bad_Autoupdate_2
lea ecx, [ebp - 0x18]
call fcn.0040108c
mov eax, dword [eax]
push ebx
push ebx
push eax
call esi
push eax
call edi
lea ecx, [ebp - 0x18]
call fcn.00401a9f
cmp dword [ebp - 0x40], 6
jne 0x409744
call fcn.0040a9de
mov esi, dword [sym.imp.KERNEL32.dll_CopyFileA]
push ebx
push dword [ebp - 0x24]
push dword [ebp - 4]
call esi
push ebx
lea eax, [ebp - 0x148]
push dword [ebp - 4]
push eax
call esi
push 5
push ebx
push dword [ebp - 4]
push str.explorer.exe
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
call fcn.0040915a
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
lea ecx, [ebp - 0x30]
call fcn.00401a9f
lea ecx, [ebp - 0x3c]
call fcn.00401a9f
lea ecx, [ebp - 0x28]
call fcn.00401a9f
lea ecx, [ebp - 0x24]
call fcn.00401a9f
lea ecx, [ebp - 0x10]
call fcn.00401a9f
lea ecx, [ebp - 4]
call fcn.00401a9f
lea ecx, [ebp - 0x1c]
call fcn.00401a9f
lea ecx, [ebp - 0x34]
call fcn.00401a9f
lea ecx, [ebp - 0x38]
call fcn.00401a9f
lea ecx, [ebp - 0x20]
call fcn.00401a9f
push 1
pop eax
jmp 0x4097d6
lea ecx, [ebp - 0x34]
call fcn.00401a9f
lea ecx, [ebp - 0x38]
call fcn.00401a9f
lea ecx, [ebp - 0x20]
call fcn.00401a9f
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret