Function at 0x402840
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 0x4df0a6
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x7e8
mov eax, dword [0x513200]
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 [0x513b70], 0
je 0x402b66
push 0x410
lea eax, [ebp - 0x428]
push 0
push eax
call fcn.0048bb90
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x428]
add esp, 0xc
push 0x4f6054
push eax
call esi
push 0x529cf0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x402b66
push 0x52a310
lea eax, [ebp - 0x428]
push eax
call esi
push 0x4f6058
lea eax, [ebp - 0x428]
push eax
call esi
push str.sogoupy
lea eax, [ebp - 0x428]
push eax
call esi
push 0x4f6058
lea eax, [ebp - 0x428]
push eax
call esi
push 0x4f6060
lea eax, [ebp - 0x428]
push eax
call esi
push 0x4f6054
lea eax, [ebp - 0x428]
push eax
call esi
imul eax, dword [0x513b74], 0x208
push 0x5c
add eax, 0x5298e0
push eax
call fcn.0048c43d
mov edi, eax
add esp, 8
test edi, edi
je 0x402968
push 0x4f6064
lea eax, [ebp - 0x428]
add edi, 2
push eax
call esi
push edi
lea eax, [ebp - 0x428]
push eax
call esi
push 0x4f6054
lea eax, [ebp - 0x428]
push eax
call esi
imul eax, dword [0x513b74], 0x208
push 0x5c
add eax, 0x529ef8
push eax
call fcn.0048c43d
mov edi, eax
add esp, 8
test edi, edi
je 0x4029b1
push 0x4f6064
lea eax, [ebp - 0x428]
add edi, 2
push eax
call esi
push edi
lea eax, [ebp - 0x428]
push eax
call esi
push 0x4f6054
lea eax, [ebp - 0x428]
push eax
call esi
push 0x44
lea eax, [ebp - 0x7f8]
push 0
push eax
call fcn.0048bb90
add esp, 0xc
mov dword [ebp - 0x7f8], 0x44
xorps xmm0, xmm0
movups xmmword [ebp - 0x7b0], xmm0
call fcn.004090f0
cmp dword [eax + 0x10], 0
lea esi, [eax + 0xc]
jne 0x4029ea
xor edi, edi
jmp 0x4029fc
cmp byte [esi + 0x11c], 0
lea eax, [esi + 0xc]
jne 0x4029f9
mov eax, dword [esi + 8]
lea edi, [eax + 4]
sub esp, 0x10
lea ecx, [ebp - 0x7a0]
push 0
push str.crashrpt.exe
call fcn.0040e650
lea eax, [ebp - 0x7a0]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x550]
mov ecx, esi
push eax
call fcn.0040ed80
mov byte [ebp - 4], 2
cmp byte [ebp - 0x684], 0
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x402a5d
mov eax, dword [ebp - 0x798]
lea ecx, [ebp - 0x794]
cmp eax, ecx
je 0x402a5d
push eax
call fcn.00496f41
add esp, 4
mov ecx, dword [0x52a308]
test ecx, ecx
je 0x402a97
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 0x402b3a
lea ecx, [ebp - 0x678]
call fcn.00403480
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.00404910
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 0x402b3a
mov eax, dword [ebp - 0x670]
lea ecx, [ebp - 0x66c]
cmp eax, ecx
je 0x402b3a
push eax
call fcn.00496f41
add esp, 4
cmp byte [ebp - 0x434], 0
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x402b66
mov eax, dword [ebp - 0x548]
lea ecx, [ebp - 0x544]
cmp eax, ecx
je 0x402b66
push eax
call fcn.00496f41
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.00489940
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret