Function at 0x6656e4
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x6656ec
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x665955
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, 0x665970
mov edx, 0x66598c
mov eax, dword [0x67e8d4]
mov esi, dword [eax]
call dword [esi + 0x14]
test al, al
je 0x6657f5
push 0
mov ecx, 0x6659a4
mov edx, 0x6659bc
mov eax, dword [0x67e8d4]
mov esi, dword [eax]
call dword [esi + 0x14]
test al, al
je 0x6657f5
push 0x124
push 0x6659c8
push 0x665a00
lea eax, [ebp - 0xc]
push eax
mov ecx, 0x665a34
mov edx, 0x665a54
mov eax, dword [0x67e8d4]
mov esi, dword [eax]
call dword [esi + 4]
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 8]
call fcn.00642f7c
mov eax, dword [ebp - 8]
call fcn.0040a13c
push eax
mov eax, ebx
call fcn.0054ab4c
push eax
call sub.user32.dll_MessageBoxW
cmp eax, 6
jne 0x6657f5
push 1
push 0
push 0
push 0x665a6c
lea eax, [ebp - 0x14]
call fcn.00665644
push dword [ebp - 0x14]
push 0x665ab0
push 0
lea eax, [ebp - 0x18]
push eax
mov ecx, 0x665ae4
mov edx, 0x665afc
mov eax, dword [0x67e8d4]
mov esi, dword [eax]
call dword [esi + 4]
push dword [ebp - 0x18]
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.0040a418
mov eax, dword [ebp - 0x10]
call fcn.0040a13c
push eax
push 0x665b08
mov eax, dword [0x6784f0]
mov eax, dword [eax]
mov eax, dword [eax + 0x188]
push eax
call sub.shell32.dll_ShellExecuteW
cmp dword [0x67e8d0], 0xa
jne 0x6658eb
mov esi, dword [ebx + 0x3ec]
cmp byte [esi + 0x69], 0
je 0x665864
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x104]
test al, al
je 0x665864
push 0
mov ecx, 0x665b20
mov edx, 0x665b4c
mov eax, dword [0x67e8d4]
mov esi, dword [eax]
call dword [esi + 0x14]
push eax
push 0
lea eax, [ebp - 0x20]
push eax
mov ecx, 0x665b64
mov edx, 0x665b90
mov eax, dword [0x67e8d4]
mov esi, dword [eax]
call dword [esi + 4]
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.00642f7c
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
xor edx, edx
call fcn.0064c278
mov esi, dword [ebx + 0x454]
cmp byte [esi + 0x69], 0
je 0x6658d1
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x104]
test al, al
je 0x6658d1
push 0
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x665ba8
mov edx, 0x665bdc
mov eax, dword [0x67e8d4]
mov esi, dword [eax]
call dword [esi + 4]
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x24]
call fcn.00655ae4
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 4]
call fcn.00642f7c
push 0
mov ecx, 0x665bf4
mov edx, 0x665c24
mov eax, dword [0x67e8d4]
mov esi, dword [eax]
call dword [esi + 0x14]
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0064c278
mov eax, dword [ebx + 0x3f0]
cmp byte [eax + 0x69], 0
je 0x6658eb
cmp dword [eax + 0x2a0], 0
jne 0x6658eb
call fcn.00644d2c
xor eax, eax
push ebp
push 0x66592b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x67e8d8]
call fcn.004078f0
mov eax, dword [0x67e8d4]
call fcn.004078f0
mov eax, dword [0x67e92c]
call fcn.004078f0
mov eax, dword [0x67e934]
call fcn.004078f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x665935
call fcn.00644150
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x66595c
lea eax, [ebp - 0x28]
mov edx, 0xa
call fcn.004095cc
ret