Function at 0x40aeb1
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, 0x446598
push esi
push eax
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], 0x4465a0
mov dword [ebp - 0x34], ebx
call fcn.00403e51
mov edi, 0x104
lea eax, [ebp - 0x54]
push edi
push eax
lea ecx, [ebp - 0x24]
call fcn.0040508c
mov ecx, dword [ebp - 0x24]
call fcn.00404ff5
push edi
push eax
push esi
mov dword [ebp - 0x1c], eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp - 0x24]
call fcn.00404215
sub esp, 0x28
lea eax, [ebp - 1]
mov ecx, esp
push esi
push eax
push 0x451a54
mov dword [ecx], 0x4465a0
mov dword [ecx + 0x20], ebx
call fcn.00403f24
sub esp, 0x28
lea eax, [ebp - 2]
mov ecx, esp
push 1
push eax
push 0x44ca64
call fcn.0040717c
lea eax, [ebp - 0xcc]
push 1
push eax
call fcn.0041aae2
add esp, 0x58
lea ecx, [ebp - 0x54]
call fcn.00404ff5
push esi
lea ecx, [ebp - 0xcc]
mov edi, eax
call fcn.00404ff5
push eax
push edi
mov edi, dword [sym.imp.KERNEL32.dll_CopyFileA]
call edi
test eax, eax
jne 0x40af7a
mov esi, 0xffffec67
jmp 0x40b2a5
lea eax, [ebp - 2]
push 1
mov ebx, 0x44c5a4
push eax
push ebx
lea ecx, [ebp - 0xa4]
call fcn.00404843
lea eax, [ebp - 1]
push 1
push eax
push ebx
lea ecx, [ebp - 0x7c]
call fcn.00404843
lea eax, [ebp - 0xa4]
lea ecx, [ebp + 8]
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.00403fca
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.0040402d
mov ecx, eax
call fcn.00403fca
mov ecx, eax
call fcn.00404ff5
push esi
mov ecx, ebx
mov dword [ebp - 0x28], eax
call fcn.00404ff5
push eax
push dword [ebp - 0x28]
call edi
mov ebx, eax
lea ecx, [ebp - 0xf4]
neg ebx
sbb bl, bl
inc bl
call fcn.00403643
lea ecx, [ebp - 0x144]
call fcn.00403643
lea ecx, [ebp - 0x11c]
call fcn.00403643
lea ecx, [ebp - 0x7c]
call fcn.00403643
lea ecx, [ebp - 0xa4]
call fcn.00403643
test bl, bl
jne 0x40af70
lea eax, [ebp - 0x25c]
push 0x44ca60
push eax
lea ecx, [ebp + 8]
call fcn.004052ee
push eax
push 0x44ca38
lea eax, [ebp - 0x20c]
push esi
push eax
lea ecx, [ebp - 0x54]
call fcn.0040cd72
push eax
lea eax, [ebp - 0x194]
push 0x44ca14
push eax
push esi
lea eax, [ebp - 0x1bc]
push esi
push eax
lea ecx, [ebp - 0x54]
call fcn.0040402d
mov ecx, eax
call fcn.004052ee
push eax
lea eax, [ebp + 0x30]
push 0x44c9fc
push eax
lea eax, [ebp - 0xcc]
push 0x44c1d8
push eax
lea eax, [ebp - 0x284]
push eax
call fcn.0040d615
add esp, 0xc
push eax
lea eax, [ebp - 0x1e4]
push eax
call fcn.0040d6f6
add esp, 0xc
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.0040d615
add esp, 0xc
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.0040d6f6
add esp, 0xc
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.0040d615
add esp, 0xc
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.0040d6f6
add esp, 0xc
push eax
lea eax, [ebp - 0x144]
push eax
call fcn.0040d615
add esp, 0xc
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.0040d6f6
add esp, 0xc
push eax
lea eax, [ebp - 0x16c]
push eax
call fcn.0040d615
add esp, 0xc
lea ecx, [ebp - 0x11c]
call fcn.00403643
lea ecx, [ebp - 0x144]
call fcn.00403643
lea ecx, [ebp - 0xf4]
call fcn.00403643
lea ecx, [ebp - 0xa4]
call fcn.00403643
lea ecx, [ebp - 0x7c]
call fcn.00403643
lea ecx, [ebp - 0x234]
call fcn.00403643
lea ecx, [ebp - 0x1e4]
call fcn.00403643
lea ecx, [ebp - 0x284]
call fcn.00403643
lea ecx, [ebp - 0x194]
call fcn.00403643
lea ecx, [ebp - 0x1bc]
call fcn.00403643
lea ecx, [ebp - 0x20c]
call fcn.00403643
lea ecx, [ebp - 0x25c]
call fcn.00403643
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.0040508c
mov ecx, dword [ebp - 0x24]
call fcn.00404ff5
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.00404215
test bl, bl
je 0x40b225
lea ecx, [ebp - 0x14]
call fcn.004089f7
lea ecx, [ebp - 0x18]
call fcn.004089f7
mov esi, 0xffffec67
jmp 0x40b29a
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 0x40b250
lea ecx, [ebp - 0x14]
call fcn.004089f7
lea ecx, [ebp - 0x18]
call fcn.004089f7
jmp 0x40b29a
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 0x40b27f
cmp eax, 1
je 0x40b27f
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 0x40b250
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.0040b2cf
lea ecx, [ebp - 0x16c]
call fcn.00403643
lea ecx, [ebp - 0xcc]
call fcn.00403643
lea ecx, [ebp - 0x54]
call fcn.00403643
lea ecx, [ebp + 8]
call fcn.00403643
lea ecx, [ebp + 0x30]
call fcn.00403643
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret