Function at 0x4031d0
Capabilities:
Create process on windows
Create process suspended

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e4b76
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x7e8
mov eax, dword [0x519220]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [0x519bd0], 0
je 0x4034f6
push 0x410
lea eax, [ebp - 0x428]
push 0
push eax
call fcn.00491400
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x428]
add esp, 0xc
push 0x4fc154
push eax
call esi
push 0x52ffa0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x4034f6
push 0x5305c0
lea eax, [ebp - 0x428]
push eax
call esi
push 0x4fc158
lea eax, [ebp - 0x428]
push eax
call esi
push str.sogoupy
lea eax, [ebp - 0x428]
push eax
call esi
push 0x4fc158
lea eax, [ebp - 0x428]
push eax
call esi
push 0x4fc160
lea eax, [ebp - 0x428]
push eax
call esi
push 0x4fc154
lea eax, [ebp - 0x428]
push eax
call esi
imul eax, dword [0x519bd4], 0x208
push 0x5c
add eax, 0x52fb90
push eax
call fcn.00491cad
mov edi, eax
add esp, 8
test edi, edi
je 0x4032f8
push 0x4fc164
lea eax, [ebp - 0x428]
add edi, 2
push eax
call esi
push edi
lea eax, [ebp - 0x428]
push eax
call esi
push 0x4fc154
lea eax, [ebp - 0x428]
push eax
call esi
imul eax, dword [0x519bd4], 0x208
push 0x5c
add eax, 0x5301a8
push eax
call fcn.00491cad
mov edi, eax
add esp, 8
test edi, edi
je 0x403341
push 0x4fc164
lea eax, [ebp - 0x428]
add edi, 2
push eax
call esi
push edi
lea eax, [ebp - 0x428]
push eax
call esi
push 0x4fc154
lea eax, [ebp - 0x428]
push eax
call esi
push 0x44
lea eax, [ebp - 0x7f8]
push 0
push eax
call fcn.00491400
add esp, 0xc
mov dword [ebp - 0x7f8], 0x44
xorps xmm0, xmm0
movups xmmword [ebp - 0x7b0], xmm0
call fcn.00409ad0
cmp dword [eax + 0x10], 0
lea esi, [eax + 0xc]
jne 0x40337a
xor edi, edi
jmp 0x40338c
cmp byte [esi + 0x11c], 0
lea eax, [esi + 0xc]
jne 0x403389
mov eax, dword [esi + 8]
lea edi, [eax + 4]
sub esp, 0x10
lea ecx, [ebp - 0x7a0]
push 0
push str.crashrpt.exe
call fcn.0040f6f0
lea eax, [ebp - 0x7a0]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x550]
mov ecx, esi
push eax
call fcn.0040fe20
mov byte [ebp - 4], 2
cmp byte [ebp - 0x684], 0
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x4033ed
mov eax, dword [ebp - 0x798]
lea ecx, [ebp - 0x794]
cmp eax, ecx
je 0x4033ed
push eax
call fcn.0049c7b1
add esp, 4
mov ecx, dword [0x5305b8]
test ecx, ecx
je 0x403427
cmp byte [ebp - 0x434], 0
lea eax, [ebp - 0x544]
mov edx, dword [ecx]
lea esi, [ebp - 0x428]
cmove eax, dword [ebp - 0x548]
push 0
push edi
add eax, 4
push esi
push eax
mov eax, dword [edx]
call eax
test al, al
jne 0x4034ca
lea ecx, [ebp - 0x678]
call fcn.00403e10
cmp byte [ebp - 0x434], 0
lea eax, [ebp - 0x544]
lea ecx, [ebp - 0x428]
cmove eax, dword [ebp - 0x548]
push ecx
add eax, 4
push eax
lea eax, [ebp - 0x678]
push str.__s___s
push eax
call fcn.004052a0
add esp, 0x10
lea ecx, [ebp - 0x7b0]
cmp byte [ebp - 0x55c], 0
lea eax, [ebp - 0x66c]
cmove eax, dword [ebp - 0x670]
push ecx
lea ecx, [ebp - 0x7f8]
add eax, 4
push ecx
push edi
push 0
push 0
push 0
push 0
push 0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
cmp byte [ebp - 0x55c], 0
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x4034ca
mov eax, dword [ebp - 0x670]
lea ecx, [ebp - 0x66c]
cmp eax, ecx
je 0x4034ca
push eax
call fcn.0049c7b1
add esp, 4
cmp byte [ebp - 0x434], 0
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x4034f6
mov eax, dword [ebp - 0x548]
lea ecx, [ebp - 0x544]
cmp eax, ecx
je 0x4034f6
push eax
call fcn.0049c7b1
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0048f1b0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret