Function at 0x647278
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x18
push 0
push 0
dec ecx
jne 0x647280
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov esi, eax
mov eax, dword [ebp - 4]
call fcn.00409650
lea eax, [ebp - 0x14]
mov edx, dword [0x6471dc]
call fcn.0040a96c
mov ebx, 0x674910
xor eax, eax
push ebp
push 0x647995
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x1c]
mov eax, dword [0x6748a4]
mov eax, dword [eax + 0x4ac]
call fcn.00586248
cmp dword [ebp - 0x1c], 0
je 0x64737d
lea edx, [ebp - 0x20]
mov eax, dword [0x6748a4]
mov eax, dword [eax + 0x4ac]
call fcn.00586248
mov eax, dword [ebp - 0x20]
mov dl, 1
call fcn.00424064
test al, al
je 0x64737d
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.004226cc
mov eax, dword [ebp - 0x24]
push eax
lea edx, [ebp - 0x28]
mov eax, 0x6479b0
call fcn.004226cc
mov eax, dword [ebp - 0x28]
mov ecx, 1
pop edx
call fcn.0040a710
test eax, eax
jle 0x64737d
lea edx, [ebp - 0x2c]
mov eax, 0x6479f0
call fcn.00640dec
mov eax, dword [ebp - 0x2c]
mov dl, 1
call fcn.00424064
test al, al
jne 0x64737d
movzx eax, byte [0x647a1c]
push eax
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x34]
mov eax, dword [0x6748a4]
mov eax, dword [eax + 0x4ac]
call fcn.00586248
mov ecx, dword [ebp - 0x34]
mov edx, 0x647a2c
mov eax, dword [ebp - 4]
call fcn.0042b4dc
mov edx, dword [ebp - 0x30]
lea eax, [ebp - 4]
call fcn.00409994
movzx eax, byte [0x647a58]
push eax
lea eax, [ebp - 0x38]
push eax
mov ecx, 0x647a68
mov edx, 0x647a7c
mov eax, dword [ebp - 4]
call fcn.0042b4dc
mov edx, dword [ebp - 0x38]
mov eax, dword [ebx]
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov eax, dword [ebx]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 7
jne 0x64793f
lea ecx, [ebp - 0x40]
mov edx, 5
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x40]
lea edx, [ebp - 0x3c]
call fcn.004226cc
mov ecx, dword [ebp - 0x3c]
mov edx, 5
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0x20]
lea ecx, [ebp - 0x44]
mov edx, 5
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x44]
mov edx, 0x647a90
call fcn.0040a4c8
jne 0x64740e
mov eax, dword [0x636488]
call fcn.0063705c
cmp al, 1
je 0x64793f
lea ecx, [ebp - 0x48]
mov edx, 5
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x48]
mov edx, 0x647aac
call fcn.0040a4c8
jne 0x64743e
mov eax, dword [0x636488]
call fcn.0063705c
test al, al
je 0x64793f
lea ecx, [ebp - 0x50]
xor edx, edx
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0x4c]
call fcn.00640dec
mov edx, dword [ebp - 0x4c]
lea eax, [ebp - 0x14]
call fcn.00409994
lea ecx, [ebp - 0x58]
mov edx, 1
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x58]
lea edx, [ebp - 0x54]
call fcn.00640dec
mov edx, dword [ebp - 0x54]
lea eax, [ebp - 0x10]
call fcn.00409994
mov word [ebp - 8], 1
lea ecx, [ebp - 0x60]
mov edx, 2
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x60]
lea edx, [ebp - 0x5c]
call fcn.004226cc
mov ecx, dword [ebp - 0x5c]
mov edx, 2
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0x20]
lea ecx, [ebp - 0x64]
mov edx, 2
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x64]
mov edx, 0x647ac8
call fcn.0040a4c8
jne 0x6474da
mov word [ebp - 8], 3
jmp 0x647524
lea ecx, [ebp - 0x68]
mov edx, 2
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x68]
mov edx, 0x647ae8
call fcn.0040a4c8
jne 0x647500
mov word [ebp - 8], 2
jmp 0x647524
lea ecx, [ebp - 0x6c]
mov edx, 2
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x6c]
mov edx, 0x647b08
call fcn.0040a4c8
jne 0x647524
mov word [ebp - 8], 0
lea ecx, [ebp - 0x74]
mov edx, 3
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x74]
lea edx, [ebp - 0x70]
call fcn.004226cc
mov edx, dword [ebp - 0x70]
lea eax, [ebp - 0xc]
call fcn.00409994
lea ecx, [ebp - 0x7c]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x7c]
lea edx, [ebp - 0x78]
call fcn.004226cc
mov ecx, dword [ebp - 0x78]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0x20]
lea ecx, [ebp - 0x80]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x80]
mov edx, 0x647b20
call fcn.0040a4c8
sete al
mov byte [ebp - 6], al
lea ecx, [ebp - 0x88]
mov edx, 6
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x88]
lea edx, [ebp - 0x84]
call fcn.004226cc
mov ecx, dword [ebp - 0x84]
mov edx, 6
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0x20]
lea ecx, [ebp - 0x8c]
mov edx, 6
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x8c]
mov edx, 0x647b34
call fcn.0040a4c8
sete al
mov byte [ebp - 5], al
sub si, 1
jb 0x647608
je 0x647620
dec si
je 0x647638
dec si
je 0x647650
jmp 0x647792
mov eax, dword [ebp - 0xc]
mov edx, 0x647b48
call fcn.0040a4c8
jne 0x64793f
jmp 0x647792
mov eax, dword [ebp - 0xc]
mov edx, 0x647b7c
call fcn.0040a4c8
jne 0x64793f
jmp 0x647792
mov eax, dword [ebp - 0xc]
mov edx, 0x647bc0
call fcn.0040a4c8
jne 0x64793f
jmp 0x647792
mov eax, dword [ebp - 0xc]
mov edx, 0x647bfc
call fcn.0040a4c8
jne 0x6476ea
push dword [ebp - 0x14]
push 0x647c34
push dword [ebp - 0x10]
push 0x647c48
lea ecx, [ebp - 0x94]
mov edx, 2
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
push dword [ebp - 0x94]
push 0x647c5c
lea ecx, [ebp - 0x98]
mov edx, 4
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
push dword [ebp - 0x98]
push 0x647c70
lea ecx, [ebp - 0x9c]
mov edx, 6
mov eax, dword [ebx]
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x9c]
lea eax, [ebp - 0x90]
mov edx, 9
call fcn.0040a418
mov edx, dword [ebp - 0x90]
mov eax, 0x647c84
call fcn.00641b2c
jmp 0x64777f
mov eax, dword [ebp - 0xc]
mov edx, 0x647cb8
call fcn.0040a4c8
jne 0x64777f
push dword [ebp - 0x14]
push 0x647cf0
push dword [ebp - 0x10]
push 0x647d04
lea ecx, [ebp - 0xa4]
mov edx, 2
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
push dword [ebp - 0xa4]
push 0x647d18
lea ecx, [ebp - 0xa8]
mov edx, 4
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
push dword [ebp - 0xa8]
push 0x647d2c
lea ecx, [ebp - 0xac]
mov edx, 6
mov eax, dword [ebx]
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0xac]
lea eax, [ebp - 0xa0]
mov edx, 9
call fcn.0040a418
mov edx, dword [ebp - 0xa0]
mov eax, 0x647d40
call fcn.00641b2c
mov eax, dword [ebp - 0xc]
mov edx, 0x647d74
call fcn.0040a4c8
jne 0x64793f
lea edx, [ebp - 0xb4]
mov eax, dword [ebp - 0x14]
call fcn.00424864
mov eax, dword [ebp - 0xb4]
lea edx, [ebp - 0xb0]
call fcn.004226cc
mov eax, dword [ebp - 0xb0]
mov edx, 0x647da8
call fcn.0040a4c8
jne 0x64786e
mov dl, 1
mov eax, dword [ebp - 0x14]
call fcn.00424064
test al, al
je 0x64786e
xor eax, eax
push ebp
push 0x647864
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x48fb74]
call fcn.004b3524
mov ebx, eax
mov edx, dword [ebp - 0x14]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x6c]
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x647846
inc eax
mov dword [ebp - 0x18], eax
xor esi, esi
lea ecx, [ebp - 0xbc]
mov edx, esi
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xbc]
lea edx, [ebp - 0xb8]
call fcn.00640dec
mov ecx, dword [ebp - 0xb8]
mov edx, esi
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0x20]
inc esi
dec dword [ebp - 0x18]
jne 0x647811
mov edx, dword [ebp - 0x14]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, ebx
call fcn.004078f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x64786e
mov dl, 1
mov eax, dword [ebp - 0x14]
call fcn.00424064
test al, al
je 0x64789a
movzx eax, word [ebp - 8]
push eax
movzx eax, byte [ebp - 6]
push eax
movzx eax, byte [ebp - 5]
push eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
xor eax, eax
call fcn.0064622c
jmp 0x6478b5
movzx eax, word [ebp - 8]
push eax
push 0
push 0
mov eax, dword [ebp - 0x14]
call fcn.0040a13c
push eax
push 0
push 0
call sub.shell32.dll_ShellExecuteW
mov eax, dword [0x66e35c]
mov eax, dword [eax]
call fcn.00615b30
mov eax, dword [ebp - 0xc]
mov edx, 0x647dc0
call fcn.0040a4c8
je 0x6478df
mov eax, dword [ebp - 0xc]
mov edx, 0x647e04
call fcn.0040a4c8
jne 0x64793f
lea edx, [ebp - 0xc0]
mov eax, 0x647e40
call fcn.00640dec
mov eax, dword [ebp - 0xc0]
mov dl, 1
call fcn.00424064
test al, al
je 0x64793f
mov eax, dword [0x6748a4]
mov eax, dword [eax + 0x3c0]
mov si, 0xffeb
call fcn.00407c44
mov eax, dword [0x6748a4]
mov eax, dword [eax + 0x420]
mov si, 0xffb4
call fcn.00407c44
test al, al
je 0x64793f
mov eax, dword [0x6748a4]
mov eax, dword [eax + 0x420]
mov edx, dword [eax]
call dword [edx + pe_nt_image_headers32]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x64799c
lea eax, [ebp - 0xc0]
mov edx, 0x23
call fcn.004095cc
lea eax, [ebp - 0x34]
call fcn.0040956c
lea eax, [ebp - 0x30]
mov edx, 4
call fcn.004095cc
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.004095cc
lea eax, [ebp - 0x14]
mov edx, dword [0x6471dc]
call fcn.0040aa44
lea eax, [ebp - 4]
call fcn.0040956c
ret