Function at 0x417880
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x27c
mov eax, dword [0x5023a4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
call fcn.00408bd0
mov esi, dword [0x506568]
mov ebx, eax
mov dword [ebp - 0x214], esi
test esi, esi
jne 0x4178d7
push 0x20d0
call fcn.0049786c
add esp, 4
mov ecx, eax
call fcn.00414c70
mov ecx, eax
mov dword [0x506568], eax
mov edx, dword [eax]
call dword [edx]
mov eax, dword [0x506568]
mov dword [ebp - 0x214], eax
mov ecx, ebx
call fcn.00406dc0
test eax, eax
jne 0x4178f1
mov ecx, ebx
call fcn.00407130
test eax, eax
je 0x417bc2
lea ecx, [ebp - 0x218]
call fcn.0041a680
mov esi, dword [ebp - 0x218]
cmp dword [esi - 0xc], 0
jne 0x4179d2
mov edi, dword [0x506568]
test edi, edi
jne 0x417964
push 0x20d0
call fcn.0049786c
add esp, 4
mov ecx, eax
call fcn.00414c70
mov ecx, eax
mov dword [0x506568], eax
mov edx, dword [eax]
call dword [edx]
mov edi, dword [0x506568]
test edi, edi
jne 0x417964
push 0x20d0
call fcn.0049786c
add esp, 4
mov ecx, eax
call fcn.00414c70
mov ecx, eax
mov dword [0x506568], eax
mov edx, dword [eax]
call dword [edx]
mov edi, dword [0x506568]
mov eax, edi
mov dword [ebp - 0x21c], eax
test eax, eax
jne 0x417995
push 0x20d0
call fcn.0049786c
add esp, 4
mov ecx, eax
call fcn.00414c70
mov ecx, eax
mov dword [0x506568], eax
mov edx, dword [eax]
call dword [edx]
mov edi, dword [0x506568]
test edi, edi
jne 0x4179b8
push 0x20d0
call fcn.0049786c
add esp, 4
mov ecx, eax
call fcn.00414c70
mov ecx, eax
mov dword [0x506568], eax
mov edx, dword [eax]
call dword [edx]
mov eax, dword [ebp - 0x21c]
push ecx
add eax, 0x824
push eax
lea eax, [edi + 0x414]
push eax
push ecx
call fcn.00411c60
mov ecx, ebx
call fcn.00407010
test eax, eax
jne 0x417baa
mov ecx, ebx
call fcn.004070a0
test eax, eax
jne 0x417baa
push 0x208
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.0049b560
mov ecx, dword [ebp - 0x214]
lea edx, [ebp - 0x210]
add ecx, 0x414
add esp, 0xc
sub edx, ecx
nop dword [eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x417a20
lea edi, [ebp - 0x210]
add edi, 0xfffffffe
nop dword [eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x417a40
mov eax, dword [0x4da000]
lea ecx, [ebp - 0x210]
mov dword [edi], eax
add ecx, 0xfffffffe
nop dword [eax]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x417a60
mov eax, dword [str.GamePP.exe]
mov dword [ecx], eax
mov eax, dword [0x4da32c]
mov dword [ecx + 4], eax
mov eax, dword [0x4da330]
mov dword [ecx + 8], eax
mov eax, dword [0x4da334]
mov dword [ecx + 0xc], eax
mov eax, dword [0x4da338]
mov dword [ecx + 0x10], eax
mov ax, word [0x4da33c]
mov word [ecx + 0x14], ax
call fcn.004031c0
mov ecx, eax
test ecx, ecx
je 0x417bd5
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x214], eax
call fcn.00408bd0
mov eax, dword [eax + 0x14]
push eax
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x214]
push str.__s___main__s
push eax
call fcn.004040c0
add esp, 0x10
cmp dword [0x506568], 0
jne 0x417b06
push 0x20d0
call fcn.0049786c
add esp, 4
mov ecx, eax
call fcn.00414c70
mov ecx, eax
mov dword [0x506568], eax
mov edx, dword [eax]
call dword [edx]
push 0x40
lea eax, [ebp - 0x264]
mov dword [ebp - 0x268], 0x44
push 0
push eax
call fcn.0049b560
mov esi, dword [ebp - 0x214]
add esp, 0xc
mov eax, 1
mov dword [ebp - 0x23c], 1
mov word [ebp - 0x238], ax
lea eax, [ebp - 0x278]
push eax
lea eax, [ebp - 0x268]
push eax
push 0
push 0
push 0x30
push 0
push 0
push 0
push esi
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
lea edx, [esi - 0x10]
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x417b7c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x218]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x417b97
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0049765c
mov esp, ebp
pop ebp
ret
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x417bc2
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0049765c
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00402f10
int3