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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c8
push ebx
push esi
xor esi, esi
push edi
lea eax, [ebp - 1]
mov ebx, 0x4465a0
push esi
push eax
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], 0x4465a8
mov dword [ebp - 0x34], ebx
call fcn.00403e8f
mov edi, 0x104
lea eax, [ebp - 0x54]
push edi
push eax
lea ecx, [ebp - 0x24]
call fcn.0040ca84
mov ecx, dword [ebp - 0x24]
call fcn.00405033
push edi
push eax
push esi
mov dword [ebp - 0x1c], eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp - 0x24]
call fcn.00404253
sub esp, 0x28
lea eax, [ebp - 1]
mov ecx, esp
push esi
push eax
push 0x451a54
mov dword [ecx], 0x4465a8
mov dword [ecx + 0x20], ebx
call fcn.00403f62
sub esp, 0x28
lea eax, [ebp - 2]
mov ecx, esp
push 1
push eax
push 0x44ca64
call fcn.0040717a
lea eax, [ebp - 0xcc]
push 1
push eax
call fcn.0041a90a
add esp, 0x58
lea ecx, [ebp - 0x54]
call fcn.00405033
push esi
lea ecx, [ebp - 0xcc]
mov edi, eax
call fcn.00405033
push eax
push edi
mov edi, dword [sym.imp.KERNEL32.dll_CopyFileA]
call edi
test eax, eax
jne 0x40af37
mov esi, 0xffffec67
jmp 0x40b262
lea eax, [ebp - 2]
push 1
mov ebx, str.ISSetup.dll
push eax
push ebx
lea ecx, [ebp - 0xa4]
call fcn.00404881
lea eax, [ebp - 1]
push 1
push eax
push ebx
lea ecx, [ebp - 0x7c]
call fcn.00404881
lea eax, [ebp - 0xa4]
lea ecx, [ebp + 8]
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.00404008
mov ebx, eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0xf4]
push eax
push esi
lea eax, [ebp - 0x144]
push esi
push eax
lea ecx, [ebp - 0x54]
call fcn.0040406b
mov ecx, eax
call fcn.00404008
mov ecx, eax
call fcn.00405033
push esi
mov ecx, ebx
mov dword [ebp - 0x28], eax
call fcn.00405033
push eax
push dword [ebp - 0x28]
call edi
mov ebx, eax
lea ecx, [ebp - 0xf4]
neg ebx
sbb bl, bl
inc bl
call fcn.0040e0a8
lea ecx, [ebp - 0x144]
call fcn.0040e0a8
lea ecx, [ebp - 0x11c]
call fcn.0040e0a8
lea ecx, [ebp - 0x7c]
call fcn.0040e0a8
lea ecx, [ebp - 0xa4]
call fcn.0040e0a8
test bl, bl
jne 0x40af2d
lea eax, [ebp - 0x25c]
push 0x44ca60
push eax
lea ecx, [ebp + 8]
call fcn.00405303
push eax
push str.__tempdisk1folder_
lea eax, [ebp - 0x20c]
push esi
push eax
lea ecx, [ebp - 0x54]
call fcn.0040cc84
push eax
lea eax, [ebp - 0x194]
push str.___your_launcher
push eax
push esi
lea eax, [ebp - 0x1bc]
push esi
push eax
lea ecx, [ebp - 0x54]
call fcn.0040406b
mov ecx, eax
call fcn.00405303
push eax
lea eax, [ebp + 0x30]
push str.__clone_of_
push eax
lea eax, [ebp - 0xcc]
push 0x44c1d8
push eax
lea eax, [ebp - 0x284]
push eax
call fcn.0040d50b
add esp, 0xc
push eax
lea eax, [ebp - 0x1e4]
push eax
call fcn.0040d5ec
add esp, 0xc
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.0040d50b
add esp, 0xc
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.0040d5ec
add esp, 0xc
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.0040d50b
add esp, 0xc
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.0040d5ec
add esp, 0xc
push eax
lea eax, [ebp - 0x144]
push eax
call fcn.0040d50b
add esp, 0xc
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.0040d5ec
add esp, 0xc
push eax
lea eax, [ebp - 0x16c]
push eax
call fcn.0040d50b
add esp, 0xc
lea ecx, [ebp - 0x11c]
call fcn.0040e0a8
lea ecx, [ebp - 0x144]
call fcn.0040e0a8
lea ecx, [ebp - 0xf4]
call fcn.0040e0a8
lea ecx, [ebp - 0xa4]
call fcn.0040e0a8
lea ecx, [ebp - 0x7c]
call fcn.0040e0a8
lea ecx, [ebp - 0x234]
call fcn.0040e0a8
lea ecx, [ebp - 0x1e4]
call fcn.0040e0a8
lea ecx, [ebp - 0x284]
call fcn.0040e0a8
lea ecx, [ebp - 0x194]
call fcn.0040e0a8
lea ecx, [ebp - 0x1bc]
call fcn.0040e0a8
lea ecx, [ebp - 0x20c]
call fcn.0040e0a8
lea ecx, [ebp - 0x25c]
call fcn.0040e0a8
push 0x10
xor eax, eax
pop ecx
lea edi, [ebp - 0x2c4]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x16c]
push esi
push eax
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x2c8], 0x44
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
call fcn.0040ca84
mov ecx, dword [ebp - 0x24]
call fcn.00405033
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x1c], eax
push ecx
lea ecx, [ebp - 0x2c8]
push ecx
push esi
push esi
push esi
push esi
push esi
push esi
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
mov ebx, eax
lea ecx, [ebp - 0x24]
neg ebx
sbb bl, bl
inc bl
call fcn.00404253
test bl, bl
je 0x40b1e2
lea ecx, [ebp - 0x14]
call fcn.0041b277
lea ecx, [ebp - 0x18]
call fcn.0041b277
mov esi, 0xffffec67
jmp 0x40b257
push 0x3e8
push dword [ebp - 0x18]
call dword [sym.imp.USER32.dll_WaitForInputIdle]
mov eax, dword [ebp - 0x18]
cmp dword [ebp + 0x58], esi
mov dword [ebp - 0x2c], eax
jne 0x40b20d
lea ecx, [ebp - 0x14]
call fcn.0041b277
lea ecx, [ebp - 0x18]
call fcn.0041b277
jmp 0x40b257
push 0x40
push 0xffffffffffffffff
lea eax, [ebp - 0x2c]
push esi
push eax
push 1
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
cmp eax, esi
je 0x40b23c
cmp eax, 1
je 0x40b23c
push 1
push esi
push esi
lea eax, [ebp - 0x70]
push esi
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
cmp dword [ebp - 0x6c], 0x16
jne 0x40b20d
lea eax, [ebp - 8]
mov dword [ebp - 8], esi
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov esi, dword [ebp - 8]
lea ecx, [ebp - 0x18]
call fcn.0040b28c
lea ecx, [ebp - 0x16c]
call fcn.0040e0a8
lea ecx, [ebp - 0xcc]
call fcn.0040e0a8
lea ecx, [ebp - 0x54]
call fcn.0040e0a8
lea ecx, [ebp + 8]
call fcn.0040e0a8
lea ecx, [ebp + 0x30]
call fcn.0040e0a8
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret