Function at 0x411577
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
push ebx
mov dword [ebp - 8], 0x86cce57b
xor ebx, ebx
mov dword [ebp - 0xc], 0x6e28
push esi
mov dword [ebp - 0x24], ecx
mov dword [ebp - 8], ebx
jmp 0x4115a5
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x5c], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x411597
mov dword [ebp - 8], 0xa0256915
cmp dword [ebp - 8], ebx
jne 0x4115c4
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, ebx
jmp 0x4115c7
xor eax, eax
inc eax
mov dword [ebp - 0x54], eax
mov esi, dword [ebp - 0x54]
mov edx, dword [ebp - 0x54]
neg esi
mov eax, dword [ebp - 0x50]
sbb esi, esi
add edx, 0x501bb0b
neg esi
neg edx
push 0xfffffffffffffffd
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
pop eax
sete cl
cmp eax, ecx
mov eax, dword [ebp - 0xc]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0x7c5c6a81
setle al
xor ecx, ecx
imul eax, dword [ebp - 0x54]
cmp esi, eax
mov eax, dword [ebp - 8]
setne cl
sub ecx, 0x99e68fc7
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x54]
setge dl
xor ecx, ecx
add edx, 0x2c7e
cmp edx, eax
setle cl
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], ebx
mov ebx, dword [sym.imp.USER32.dll_GetDC]
je 0x4117ec
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x18], 0xb862
mov dword [ebp - 0xc], 0
jmp 0x41167d
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x4c], 9
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x41166f
mov dword [ebp - 8], 0
jmp 0x4117dd
mov dword [ebp - 0x1c], 0xa44bab92
mov dword [ebp - 0x20], 0x98c53483
mov dword [ebp - 0xc], 0
jmp 0x4117d0
push 2
lea ecx, [ebp - 0x40]
call fcn.0041796c
mov dword [ebp - 0x10], 0
jmp 0x4116cc
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x40]
mov dword [eax + ecx*4], 5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x4116bc
mov esi, dword [ebp - 0x40]
mov dword [esi], 3
push 1
lea ecx, [ebp - 0x34]
call fcn.0041796c
mov dword [ebp - 0x10], 0
jmp 0x4116fe
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
mov dword [eax + ecx*4], 0xf0936a74
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 1
jl 0x4116ee
mov eax, dword [ebp - 0xc]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x5c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
add ecx, 0x138d7ef
cmp ecx, 0x78356026
setne al
xor edx, edx
cmp eax, 0xfd57
mov eax, dword [ebp - 0xc]
setle dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x5c]
cmp edx, eax
mov eax, dword [ebp - 0xc]
setl cl
cmp ecx, dword [ebp + eax*4 - 0x5c]
jne 0x41175f
cmp dword [ebp - 0x14], 0
je 0x41175f
xor eax, eax
inc eax
jmp 0x411761
xor eax, eax
xor ecx, ecx
cmp eax, 0x98a80146
mov eax, dword [ebp - 8]
setne cl
mov dword [ebp + eax*4 - 0x5c], ecx
mov eax, dword [ebp - 0x34]
mov dword [eax], ecx
lea ecx, [ebp - 0x34]
cmp dword [esi + 4], 0
jne 0x411792
call fcn.00417a3e
mov eax, dword [ebp - 0x40]
dec dword [eax]
jns 0x4116db
jmp 0x411797
call fcn.00417a3e
mov byte [ebp - 1], 0
cmp byte [ebp - 1], 0
je 0x4117c5
push 0x150c
push 0x2431
push 0x168d
push 0x1b2d
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_Ellipse]
lea ecx, [ebp - 0x40]
call fcn.00417a3e
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jle 0x4116a9
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jle 0x41168f
inc dword [ebp - 0x18]
jmp 0x411811
mov eax, dword [ebp - 8]
mov dword [ebp - 0x54], eax
xor eax, eax
mov byte [ebp - 1], al
cmp byte [ebp - 1], al
je 0x411813
push eax
push eax
push eax
push eax
push 0x1f26
push 1
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
xor eax, eax
mov dword [ebp - 8], 6
push 5
pop esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 8], 0x19
jmp 0x411891
mov dword [ebp - 0x10], esi
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x411860
push eax
push 0x1154
push 0x223e
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_SetPixel]
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x411888
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x411885
push eax
push eax
push eax
push eax
push 0x1f26
push 1
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x15
jl 0x411865
dec dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x411837
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
neg edx
neg edx
push 0x578e
sbb edx, edx
sub eax, 6
xor ecx, ecx
inc edx
cmp edx, eax
push 0
setle cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 8]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 8]
sete dl
xor ecx, ecx
cmp edx, eax
lea eax, [ebp - 0x28]
push eax
setle cl
add ecx, dword [ebp - 0xc]
push 0x1050
push dword [ebp - 0x24]
mov dword [ebp - 8], ecx
call fcn.00416ff2
mov eax, dword [ebp - 0x28]
add esp, 0x14
pop esi
pop ebx
mov esp, ebp
pop ebp
ret