Function at 0x4010ea
Capabilities:
Create process on windows
Create thread
Resume thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc8
lea eax, [ebp - 0x18]
mov dword [eax - 4], esp
mov dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x401980
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor esi, esi
test eax, eax
je 0x40144c
push str.LoadLibraryW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40144c
mov dword [ebp - 0x68], eax
mov esi, dword [ebp + 8]
xorps xmm0, xmm0
movups xmmword [ebp - 0xa0], xmm0
movups xmmword [ebp - 0xb0], xmm0
movups xmmword [ebp - 0xc0], xmm0
movups xmmword [ebp - 0xd0], xmm0
mov dword [ebp - 0xd4], 0x44
movups xmmword [ebp - 0x64], xmm0
xorps xmm1, xmm1
lea ecx, [ebp - 0x54]
movsd qword [ecx + 0x10], xmm1
movups xmmword [ecx], xmm0
push 2
push 0x4044ae
call fcn.00401cd0
lea edi, [ebp - 0x88]
xorps xmm0, xmm0
movsd qword [edi + 0x10], xmm0
xorps xmm0, xmm0
movups xmmword [edi], xmm0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
mov dword [ebp - 0x10], 0
mov ecx, edi
push eax
push esi
call fcn.00401cd0
mov dword [ebp - 0x10], 1
lea ecx, [ebp - 0x54]
push 4
push str.__n
call fcn.0040205c
mov esi, dword [ebp + 0x10]
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
lea ecx, [ebp - 0x54]
push eax
push esi
call fcn.0040205c
lea ecx, [ebp - 0x54]
push 4
push str.__h
call fcn.0040205c
mov esi, dword [ebp + 0x18]
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
lea ecx, [ebp - 0x54]
push eax
push esi
call fcn.0040205c
lea ecx, [ebp - 0x54]
push 4
push str.__p
call fcn.0040205c
mov esi, dword [ebp + 0x20]
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
lea ecx, [ebp - 0x54]
push eax
push esi
call fcn.0040205c
cmp dword [ebp + 0x2c], 0
je 0x40125d
lea ecx, [ebp - 0x54]
push 4
push 0x4044b4
call fcn.0040205c
mov esi, dword [ebp + 0x28]
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
lea ecx, [ebp - 0x54]
push eax
push esi
call fcn.0040205c
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x6c], eax
lea ecx, [ebp - 0x3c]
push str.gta_sa.exe
lea eax, [ebp - 0x88]
push eax
push ecx
call fcn.0040199a
add esp, 0xc
cmp dword [ebp - 0x6c], 8
lea ecx, [ebp - 0x54]
cmovae ecx, dword [ebp - 0x70]
cmp dword [ebp - 0x24], 8
lea eax, [ebp - 0x88]
mov edx, dword [ebp - 0x20]
cmovb edx, eax
cmp dword [ebp - 0x28], 8
lea esi, [ebp - 0x3c]
jb 0x4012b7
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x10], 3
sub esp, 0x28
lea eax, [ebp - 0x64]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0xd4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edx
movaps xmm0, xmmword [section..rdata]
movups xmmword [esp + 8], xmm0
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov esi, eax
mov eax, dword [ebp - 0x28]
cmp eax, 8
jb 0x401314
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 0x3c]
call fcn.004021d9
add esp, 8
test esi, esi
je 0x401411
mov dword [ebp - 0x10], 1
lea ecx, [ebp - 0x3c]
push str._samp.dll
lea eax, [ebp - 0x88]
push eax
mov dword [ebp - 0x20], ecx
push ecx
call fcn.0040199a
add esp, 0xc
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x10], 2
sub esp, 0x14
movaps xmm0, xmmword [0x404010]
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
test eax, eax
je 0x4013df
mov edx, dword [ebp - 0x2c]
add edx, edx
cmp dword [ebp - 0x28], 8
jb 0x401375
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x90]
push ecx
push edx
push dword [ebp - 0x20]
push eax
push dword [ebp - 0x64]
mov dword [ebp - 0x20], eax
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov edx, dword [ebp - 0x20]
test eax, eax
je 0x4013ce
lea eax, [ebp - 0x8c]
xor ecx, ecx
push eax
push 4
push edx
push dword [ebp - 0x68]
push ecx
push ecx
push dword [ebp - 0x64]
call dword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov edx, dword [ebp - 0x20]
test eax, eax
je 0x4013ce
push eax
mov dword [ebp - 0x24], eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov eax, dword [ebp - 0x24]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [ebp - 0x20]
push 0x8000
push 0
push edx
push dword [ebp - 0x64]
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
push dword [ebp - 0x60]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push dword [ebp - 0x64]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x28]
cmp eax, 8
jb 0x401413
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 0x3c]
call fcn.004021d9
add esp, 8
jmp 0x401413
xor esi, esi
mov eax, dword [ebp - 0x74]
cmp eax, 8
jb 0x401431
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 0x88]
call fcn.004021d9
add esp, 8
mov eax, dword [ebp - 0x40]
cmp eax, 8
jb 0x40144c
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 0x54]
call fcn.004021d9
add esp, 8
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, esi
add esp, 0xc8
pop esi
pop edi
pop ebx
pop ebp
ret