Function at 0x408220
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42ba91
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xe8
push ebx
push esi
push edi
mov edi, ecx
call fcn.00402d80
xor eax, eax
mov ecx, edi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408261
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x28]
call fcn.0040c3d0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x28]
xor eax, eax
sub esp, 0x18
mov esi, esp
mov dl, 0x20
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], 0xe
mov dword [esi + 0x14], 0xf
mov eax, dword [str.Auto_Selecting]
mov dword [esi], eax
mov eax, dword [0x4359c8]
mov dword [esi + 4], eax
mov eax, dword [0x4359cc]
mov dword [esi + 8], eax
mov ax, word [0x4359d0]
mov word [esi + 0xc], ax
mov byte [esi + 0xe], 0
call fcn.00403310
mov dword [ebp - 4], 0xffffffff
add esp, 0x18
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x408309
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4082ff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4082ff
call fcn.00417563
push ecx
push edx
call fcn.0040fc8f
add esp, 8
call fcn.00402d80
mov ecx, dword [0x439a9c]
mov eax, 0x7fffffff
sub eax, ecx
cmp eax, 9
jae 0x408325
call fcn.004016d0
cmp dword [0x439aa0], 0x10
mov eax, 0x439a8c
jb 0x408338
mov eax, dword [0x439a8c]
push 9
push str.Binaries_
push ecx
push eax
push ecx
push dword [ebp - 0x10]
lea ecx, [ebp - 0x28]
call fcn.0040d650
push edi
lea edx, [ebp - 0x28]
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x94]
call fcn.0040ba30
push str..exe
mov edx, eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xdc]
call fcn.0040ba30
add esp, 8
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x80]
cmp ecx, 0x10
jb 0x4083b3
mov edx, dword [ebp - 0x94]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4083a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4083f5
push ecx
push edx
call fcn.0040fc8f
add esp, 8
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0xf
mov byte [ebp - 0x94], 0
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x408404
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4083fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4083fa
call fcn.00417563
push ecx
push edx
call fcn.0040fc8f
add esp, 8
sub esp, 0x18
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0xdc]
mov dword [ebp - 0x14], 0xf
mov ecx, esp
mov byte [ebp - 0x28], 0
push eax
call fcn.00409be0
mov cl, 0x20
call fcn.00402e20
mov ecx, esp
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], 1
mov dword [ecx + 0x14], 0xf
mov al, byte [0x434c28]
mov byte [ecx], al
mov byte [ecx + 1], 0
mov cl, 0x20
call fcn.00402e20
mov esi, esp
xor eax, eax
push 0x20
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0xf
call fcn.0040f8f9
mov dword [esi], eax
mov edi, eax
mov dword [esi + 0x10], 0x17
mov ecx, 5
mov dword [esi + 0x14], 0x1f
add esp, 4
mov esi, str.Launching_y_cruncher...
rep movsd dword es:[edi], dword [esi]
mov cl, 0x59
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov byte [eax + 0x17], 0
call fcn.00402e20
mov esi, esp
xor eax, eax
push 0x50
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0xf
call fcn.0040f8f9
mov dword [esi], eax
mov edi, eax
mov dword [esi + 0x10], 0x41
mov ecx, 0x10
mov dword [esi + 0x14], 0x4f
add esp, 4
mov esi, str._n
rep movsd dword es:[edi], dword [esi]
mov cl, 0x67
movsb byte es:[edi], byte [esi]
mov byte [eax + 0x41], 0
call fcn.00402e20
add esp, 0x18
mov cl, 0x77
call fcn.00402b60
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
xor eax, eax
mov dword [ebp - 0x50], 0
lea edx, [ebp - 0xdc]
mov dword [ebp - 0x4c], 0
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x7c], 0x44
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
call fcn.00407ff0
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xc4]
call fcn.00403c80
mov esi, eax
lea edx, [ebp - 0xdc]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xac]
call fcn.00403c80
cmp dword [esi + 0x14], 8
jb 0x4085c9
mov esi, dword [esi]
cmp dword [eax + 0x14], 8
jb 0x4085d1
mov eax, dword [eax]
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [ebp - 0x7c]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov ecx, dword [ebp - 0x98]
mov esi, eax
cmp ecx, 8
jb 0x40862f
mov edx, dword [ebp - 0xac]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408625
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4086d9
push ecx
push edx
call fcn.0040fc8f
add esp, 8
xor eax, eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 7
mov word [ebp - 0xac], ax
cmp ecx, 8
jb 0x40868c
mov edx, dword [ebp - 0xc4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408682
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4086d9
push ecx
push edx
call fcn.0040fc8f
add esp, 8
xor eax, eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 7
mov word [ebp - 0xc4], ax
cmp ecx, 0x10
jb 0x4086e8
mov edx, dword [ebp - 0xf4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4086de
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4086de
call fcn.00417563
push ecx
push edx
call fcn.0040fc8f
add esp, 8
test esi, esi
jne 0x40871b
mov bl, 0x20
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
push eax
sub esp, 0x18
mov ecx, esp
push str.Unable_to_start_y_cruncher
call fcn.00409ba0
mov cl, bl
call fcn.00403410
add esp, 0x20
call fcn.00402ab0
push 1
call fcn.00414672
push 0xffffffffffffffff
push dword [ebp - 0x38]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, eax
test esi, esi
je 0x408745
sub esp, 0x18
mov ecx, esp
push 0x434c28
call fcn.00409ba0
mov cl, 0x20
call fcn.00402e20
add esp, 0x18
call fcn.00404370
mov ecx, eax
call fcn.00409720
cmp eax, 1
ja 0x408764
call fcn.00404380
test al, al
jne 0x408764
call fcn.00402ab0
push esi
call fcn.00414672
int3