Function at 0x66d888
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xb
push 0
push 0
dec ecx
jne 0x66d890
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x66dcda
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, 0x66dcf4
mov edx, 0x66dd10
mov eax, dword [0x68a214]
mov esi, dword [eax]
call dword [esi + 0x20]
test al, al
je 0x66d98a
push 0
mov ecx, 0x66dd28
mov edx, 0x66dd10
mov eax, dword [0x68a214]
mov esi, dword [eax]
call dword [esi + 0x20]
test al, al
je 0x66d98a
push 0x124
push 0x66dd34
push 0x66dd6c
lea eax, [ebp - 0xc]
push eax
mov ecx, 0x66dda0
mov edx, 0x66dd10
mov eax, dword [0x68a214]
mov esi, dword [eax]
call dword [esi + 8]
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 8]
call fcn.00645518
mov eax, dword [ebp - 8]
call fcn.0040bff0
push eax
mov eax, ebx
call fcn.0055b354
push eax
call sub.user32.dll_MessageBoxW
cmp eax, 6
jne 0x66d98a
push 1
push 0
push 0
push 0x66ddc0
lea eax, [ebp - 0x14]
call fcn.0066d7cc
push dword [ebp - 0x14]
push 0x66de04
push 0
lea eax, [ebp - 0x18]
push eax
mov ecx, 0x66de38
mov edx, 0x66dd10
mov eax, dword [0x68a214]
mov esi, dword [eax]
call dword [esi + 8]
push dword [ebp - 0x18]
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.0040c2dc
mov eax, dword [ebp - 0x10]
call fcn.0040bff0
push eax
push 0
push 0
call sub.shell32.dll_ShellExecuteW
cmp dword [0x68a210], 0xa
jne 0x66dc41
cmp byte [0x68a223], 0
je 0x66d9bf
cmp byte [0x68a223], 0
je 0x66dc41
mov eax, 0x66de50
call fcn.00641db8
test al, al
je 0x66dc41
mov eax, dword [0x68a1e0]
call fcn.0055b354
mov esi, eax
mov eax, 0x66de78
call fcn.00641db8
test al, al
je 0x66d9e8
mov eax, dword [0x682278]
mov eax, dword [eax]
mov esi, dword [eax + 0x190]
jmp 0x66d9f8
mov eax, 0x66de9c
call fcn.00641db8
test al, al
je 0x66d9f8
xor esi, esi
mov eax, dword [ebx + 0x420]
mov edx, dword [eax]
call dword [edx + 0x150]
test al, al
jne 0x66da20
mov eax, dword [ebx + 0x47c]
mov edx, dword [eax]
call dword [edx + 0x150]
test al, al
je 0x66db50
push 0
mov ecx, 0x66debc
mov edx, 0x66dd10
mov eax, dword [0x68a214]
mov edi, dword [eax]
call dword [edi + 0x20]
test al, al
je 0x66db50
lea edx, [ebp - 4]
mov eax, dword [ebx + 0x450]
call fcn.005516f4
mov eax, dword [ebx + 0x420]
mov edx, dword [eax]
call dword [edx + 0x150]
test al, al
je 0x66dac2
push 0
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x66deec
mov edx, 0x66dd10
mov eax, dword [0x68a214]
mov edi, dword [eax]
call dword [edi + 8]
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x20]
call fcn.00643fe0
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.00645518
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 4]
call fcn.00429244
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 4]
call fcn.00642150
mov eax, dword [ebp - 0x28]
mov dl, 1
call fcn.00428ab8
test al, al
jne 0x66db24
lea edx, [ebp - 4]
mov eax, dword [ebx + 0x450]
call fcn.005516f4
jmp 0x66db24
push 0
lea eax, [ebp - 0x34]
push eax
mov ecx, 0x66df18
mov edx, 0x66dd10
mov eax, dword [0x68a214]
mov edi, dword [eax]
call dword [edi + 8]
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x30]
call fcn.00643fe0
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x2c]
call fcn.00645518
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 4]
call fcn.00429244
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 4]
call fcn.00642150
mov eax, dword [ebp - 0x38]
mov dl, 1
call fcn.00428ab8
test al, al
jne 0x66db24
lea edx, [ebp - 4]
mov eax, dword [ebx + 0x450]
call fcn.005516f4
lea edx, [ebp - 0x3c]
mov eax, dword [ebp - 4]
call fcn.00642150
mov eax, dword [ebp - 0x3c]
mov dl, 1
call fcn.00428ab8
test al, al
je 0x66db50
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 4]
call fcn.00642150
mov eax, dword [ebp - 0x40]
call fcn.004295d0
mov eax, dword [ebx + 0x420]
mov edx, dword [eax]
call dword [edx + 0x150]
test al, al
je 0x66dbb7
push 0
push 0
mov ecx, 0x66df4c
mov edx, 0x66dd10
mov eax, dword [0x68a214]
mov edi, dword [eax]
call dword [edi + 0x20]
push eax
push 0
lea eax, [ebp - 0x4c]
push eax
mov ecx, 0x66deec
mov edx, 0x66dd10
mov eax, dword [0x68a214]
mov edi, dword [eax]
call dword [edi + 8]
mov eax, dword [ebp - 0x4c]
lea edx, [ebp - 0x48]
call fcn.00643fe0
mov eax, dword [ebp - 0x48]
lea edx, [ebp - 0x44]
call fcn.00645518
mov edx, dword [ebp - 0x44]
xor ecx, ecx
mov eax, esi
call fcn.006513a0
mov eax, dword [ebx + 0x47c]
mov edx, dword [eax]
call dword [edx + 0x150]
test al, al
je 0x66dc1e
push 0
push 0
mov ecx, 0x66df78
mov edx, 0x66dd10
mov eax, dword [0x68a214]
mov edi, dword [eax]
call dword [edi + 0x20]
push eax
push 0
lea eax, [ebp - 0x58]
push eax
mov ecx, 0x66df18
mov edx, 0x66dd10
mov eax, dword [0x68a214]
mov edi, dword [eax]
call dword [edi + 8]
mov eax, dword [ebp - 0x58]
lea edx, [ebp - 0x54]
call fcn.00643fe0
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.00645518
mov edx, dword [ebp - 0x50]
xor ecx, ecx
mov eax, esi
call fcn.006513a0
mov eax, dword [ebx + 0x424]
cmp byte [eax + 0x69], 0
je 0x66dc41
cmp dword [eax + 0x2c8], 0
jne 0x66dc41
cmp byte [0x68a223], 0
jne 0x66dc41
call fcn.00643b40
xor eax, eax
push ebp
push 0x66dc77
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x68a218]
call fcn.00409668
mov eax, dword [0x68a214]
call fcn.00409668
mov eax, dword [0x68a294]
call fcn.00409668
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x66dc81
cmp byte [0x68a221], 0
je 0x66dcb8
xor eax, eax
push ebp
push 0x66dcae
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x68a2c0]
push eax
call dword [0x68a2bc]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x66dcb8
call fcn.00647610
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x66dce1
lea eax, [ebp - 0x58]
mov edx, 0x16
call fcn.0040b4b8
pop eax
jmp eax