Function at 0x418190
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x27c
mov eax, dword [0x4f2500]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
call fcn.0040a740
mov ebx, eax
mov eax, dword [0x4f7510]
mov dword [ebp - 0x214], ebx
test eax, eax
jne 0x4181dd
push 0x24d0
call fcn.0042336c
add esp, 4
test eax, eax
je 0x4181d6
mov esi, eax
call fcn.00415ef0
jmp 0x4181d8
xor eax, eax
mov dword [0x4f7510], eax
mov dword [ebp - 0x21c], eax
mov eax, ebx
call fcn.004075d0
test eax, eax
jne 0x418231
mov eax, str._srun
lea esi, [ebp - 0x218]
call fcn.004032d0
mov eax, esi
call fcn.00407120
mov esi, eax
mov eax, dword [ebp - 0x218]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418229
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test esi, esi
je 0x4185af
lea esi, [ebp - 0x218]
call fcn.0041ae30
mov ecx, dword [ebp - 0x218]
cmp dword [ecx - 0xc], 0
jne 0x418332
mov eax, dword [0x4f7510]
test eax, eax
jne 0x4182a3
push 0x24d0
call fcn.0042336c
add esp, 4
test eax, eax
je 0x418290
mov esi, eax
call fcn.00415ef0
mov dword [0x4f7510], eax
test eax, eax
jne 0x4182a3
push 0x24d0
call fcn.0042336c
add esp, 4
test eax, eax
je 0x41829c
mov esi, eax
call fcn.00415ef0
jmp 0x41829e
mov dword [0x4f7510], 0
jmp 0x418276
xor eax, eax
mov dword [0x4f7510], eax
mov edi, eax
test eax, eax
jne 0x4182ca
push 0x24d0
call fcn.0042336c
add esp, 4
test eax, eax
je 0x4182c3
mov esi, eax
call fcn.00415ef0
jmp 0x4182c5
xor eax, eax
mov dword [0x4f7510], eax
mov ebx, eax
test eax, eax
jne 0x4182f9
push 0x24d0
call fcn.0042336c
add esp, 4
test eax, eax
je 0x4182ef
mov esi, eax
call fcn.00415ef0
mov dword [0x4f7510], eax
jmp 0x4182f9
mov dword [0x4f7510], 0
lea edx, [ebp - 0x220]
push edx
push 0x4cda5c
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x41832c
add ebx, 0x410
push ebx
lea eax, [edi + 0x820]
lea ebx, [ebp - 0x220]
call fcn.00412cd0
mov ebx, dword [ebp - 0x214]
mov eax, str._delay
lea esi, [ebp - 0x214]
call fcn.004032d0
mov eax, esi
call fcn.00407120
mov esi, eax
mov eax, dword [ebp - 0x214]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41836d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test esi, esi
jne 0x41858d
mov eax, str._norun
lea esi, [ebp - 0x214]
call fcn.004032d0
mov eax, esi
call fcn.00407120
mov esi, eax
mov eax, dword [ebp - 0x214]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4183b0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test esi, esi
jne 0x41858d
xor ecx, ecx
push 0x206
push ecx
lea edx, [ebp - 0x20e]
push edx
mov word [ebp - 0x210], cx
call fcn.004276b0
mov eax, dword [ebp - 0x21c]
add eax, 0x410
lea edx, [ebp - 0x210]
add esp, 0xc
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4183f0
lea eax, [ebp - 0x210]
add eax, 0xfffffffe
jmp 0x418410
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x418410
mov edi, eax
mov eax, dword [0x4cb7dc]
mov dword [edi], eax
lea eax, [ebp - 0x210]
add eax, 0xfffffffe
mov edi, edi
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x418430
mov ecx, dword [str.GamePP.exe]
mov edx, dword [0x4cbcc4]
mov dword [eax], ecx
mov ecx, dword [0x4cbcc8]
mov dword [eax + 4], edx
mov edx, dword [0x4cbccc]
mov dword [eax + 8], ecx
mov ecx, dword [0x4cbcd0]
mov dword [eax + 0xc], edx
mov dx, word [0x4cbcd4]
mov dword [eax + 0x10], ecx
mov word [eax + 0x14], dx
mov eax, dword [0x4f36ec]
mov edx, dword [eax + 0xc]
mov ecx, 0x4f36ec
call edx
add eax, 0x10
mov dword [ebp - 0x214], eax
call fcn.0040a740
mov eax, dword [eax + 0x14]
push eax
lea ecx, [ebp - 0x210]
push ecx
push str.__s___main__s
lea edi, [ebp - 0x214]
call fcn.00404650
add esp, 0xc
cmp dword [0x4f7510], 0
jne 0x4184e0
push 0x24d0
call fcn.0042336c
add esp, 4
test eax, eax
je 0x4184d6
mov esi, eax
call fcn.00415ef0
mov dword [0x4f7510], eax
jmp 0x4184e0
mov dword [0x4f7510], 0
push 0x40
lea edx, [ebp - 0x264]
push 0
push edx
mov dword [ebp - 0x268], 0x44
call fcn.004276b0
mov esi, dword [ebp - 0x214]
add esp, 0xc
lea ecx, [ebp - 0x278]
push ecx
lea edx, [ebp - 0x268]
push edx
push 0
push 0
push 0x30
push 0
push 0
push 0
push esi
mov eax, 1
push 0
mov dword [ebp - 0x23c], 1
mov word [ebp - 0x238], ax
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
lea eax, [esi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418558
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x218]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41857a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042292e
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x218]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4185af
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor al, al
pop ebx
call fcn.0042292e
mov esp, ebp
pop ebp
ret